Перехват ошибок проверки ларавеллы в angularjs

В настоящее время я работаю над формой контакта для моего веб-сайта, используя угловой JS-интерфейс и использую Laravel в качестве внутреннего API.
Это пример того, что я имею в качестве поля.

<div class="row">
<div class="form-group col-xs-12 floating-label-form-group">
<label for="title">Your Name*</label>
<input class="form-control" ng-model="contact_name" type="text" name="contact_name" placeholder="Your Name*">
<span ng-if="errors.contact_name[0]" class="alert-danger">@{{ errors.contact_name.toString()}}</span>
</div>
</div>

Это делает звонок через мой контроллер.

$scope.processForm = function ()
{
$scope.submissionSuccess = false;
$scope.errors = null;
$http({
method:'POST',
url:'/api/post-form',
data:{
_token: $scope._token,
contact_name:$scope.contact_name,
contact_email:$scope.contact_email,
phone:$scope.phone,
message:$scope.message
}
}).success(function(data, status, headers, config){

/*CLEAR FORM FIELDS*/
$scope.submissionSuccess = true;
$scope.contact_name = '';
$scope.contact_email = '';
$scope.phone = '';
$scope.message = '';

// SHOW SUCCESS FOR 2 SECONDS.
$timeout(function () {
$scope.submissionSuccess = false;
}, 2000);

}).error(function(error){
$scope.errors = error.data;
});
}

Затем это передается моему контролеру Laravel.
И когда я регистрирую данные в консоли, я получаю.

объект
ошибки
:
объект
Почта для связи
:
Array [1] 0
:
«Поле контактного адреса обязательно.»
:
1
прото
:
Array [0] Контактное лицо
:
Array [1] 0
:
«Поле имени контакта обязательно.» Длина
:
1
прото
:
Array [0] сообщение
:
Array [1] 0
:
«Поле сообщения обязательно для заполнения».

Как бы я отображал сообщения об ошибках?

0

Решение

Ошибка, четко говоря, что Контактное поле электронной почты обязательно, Поле имени контакта обязательно для заполнения,Поле сообщения обязательно для заполнения.

То есть Он не может быть пустым, ваша база данных не принимает пустое значение. Теперь вам нужно либо удалить обязательное поле из базы данных, либо вам придется обрабатывать из внешнего интерфейса, что если оно пустое, отправьте несколько пользовательских значений.

Если вы хотите показать ошибку в своем представлении, измените span в

 <span ng-show="errors.contact_name.length>0" class="alert-danger">@{{ errors.contact_name[1].toString()}}</span>
0

Другие решения

Может быть, вы можете попробовать, как это.

<span class="has-error" ng-repeat="error in errors.contact_name">{{ error }}</span>

Надеюсь, это поможет.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector