2017-02-19 3 views
0

В настоящее время я работаю над формой контакта для своего сайта, используя угловой js front end и используя Laravel в качестве backend api. Это пример того, что у меня есть как поле.Перехват ошибок проверки laravel в angularjs

<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. И когда я регистрирую данные в консоли, я получаю.

Объект ошибки : Объект contact_email : Массив [1] : "требуется поле контактный адрес электронной почты." длина : прото : Array [0] CONTACT_NAME : Массив [1] : "Поле имени контакта не требуется." длина : прото : Array [0] сообщение : Массив [1] : "требуется поле сообщения."

Как я могу отобразить сообщения об ошибках?

ответ

0

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

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

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

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

Привет, я знаю, что поля пустые. Я не пытаюсь отправить его в базу данных /. Я пытаюсь отобразить ошибки проверки на переднем конце как промежуток. Поэтому сообщение, которое регистрируется, я хочу вывести его рядом с полем approrpiate. –

+0

сейчас попробуйте, я обновил свой ответ –

0

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

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

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

Смежные вопросы