2017-01-14 8 views
-1

検証後にエラーメッセージを表示しようとしています。バックエンドはPHPで、ネットワークタブで見ることができるデータを返しています。ng-showが動作していない角形の検証

ここにコードがあります。 関数formRegister($の範囲、$ HTTP){ここ

 // create a blank object to hold our form information 
     // $scope will allow this to pass between controller and view 
     $scope.formData = {}; 

      $scope.registerForm = function() { 
      $http({ 
       method : 'POST', 
       url  : 'registerexec.php', 

       data : $.param($scope.formData), // pass in data as strings 
       headers : { 'Content-Type': 'application/x-www-form-urlencoded' } // set the headers so angular passing info as form data (not request payload) 

      }) 
       .success(function(data) { 
        console.log(data); 

        if (!data.success) { 
         // if not successful, bind errors to error variables 
         //{{$scope.errorFname}} 
         $scope.erroracType = data.errors.actype; 
         $scope.errorFname = data.errors.Fname; 
         $scope.errorLname = data.errors.Lname; 
         $scope.errorEmail1 = data.errors.email1; 
         $scope.errorPassword1 = data.errors.password1; 
         $scope.errormobile = data.errors.mobile; 
         $scope.message1 = data.message1; 

        } 
       }); 

     }; 

    } 

の形式です。

<div class="feature-box wow animated flipInX animated"> 

<div id="validation-errorss" ng-show="message1" ><div class="alert alert-danger"><strong >{{ message1 }}</strong><div></div></div> 
</div> 
<div class="panel-body" id="success"></div> 
    <font size="4" color="#fff">Register</font> 
<form name="register" method="post" id="register" role="form" ng-submit="registerForm()"> 
<div class="form-group" ng-class="{ 'has-error' : erroractype }">  
     <select id="actype" name="actype" class=" selector form-control" ng-model="formData.actype" required="required"> 
      <option value="" selected="selected" >I am</option> 
      <option value="1">a user</option> 
      <option value="2">an admin</option> 
     </select> 
<span class="help-block" ng-show="errorName">{{ erroractype }}</span> 
</div> 

<div class="form-group" ng-class="{ 'has-error' : errorFname }"> 

<input type="text" id="fname" name="fname" placeholder="First Name" title="Please Enter Your First Name" class="form-control input-sm textbox1" required="required" ng-model="formData.Fname"> 
<span class="help-block" ng-show="errorFName">{{ errorFname }}</span> 

</div> 

<div class="form-group" ng-class="{ 'has-error' : errorLname }"> 
<input type="text" id="lname" name="lname" placeholder="Last Name" title="Please Enter Your Last Name" class="form-control input-sm textbox1" required="required" ng-model="formData.Lname"> 
<span class="help-block" ng-show="errorLName">{{ errorLname }}</span> 
</div> 

<div class="form-group" ng-class="{ 'has-error' : errorEmail1 }"> 
<input type="email" id="email1" name="email1" placeholder="Email" class="form-control input-sm textbox1" title="Please Enter Your Valid Email" required="required" ng-model="formData.Email1"> 
<span class="help-block" ng-show="errorEmail1">{{ errorEmail1 }}</span> 
</div> 

<div class="form-group" ng-class="{ 'has-error' : errorPassword1 }"> 
<input type="password" name="password1" id="password1" placeholder="Password" title="Please enter AlphaNumeric value" class="form-control input-sm textbox1" required="required" ng-model="formData.Password1"> 
<span class="help-block" ng-show="errorPassword1">{{ errorPassword1 }}</span> 
</div> 

<div class="form-group" ng-class="{ 'has-error' : errormobile }"> 
    <input type="text" id="mobile" name="mobile" placeholder="Mobile Number (Without +91)" title="Please Enter Your Contact Number without Coutry Code." class="form-control input-sm textbox1" required="required" ng-model="formData.mobile"> 
    <span class="help-block" ng-show="errormobile">{{ errormobile }}</span> 
</div> 

<div class="form-group"> 
<button type="submit" class="btn btn-home" name="btn-register" id="btn-register" required="required">Register</button> 
</div> 
</form> 

問題は、フォームがバックエンドで検証されるときに発生します。配列のメッセージが表示されません。

ここでは、firebugで見つかった検証エラーを示します。

エラー:オブジェクトfnameが: "あなたの最初の名前は、3

〜30文字の間でなければなりません!" Lname: "あなたの姓は3から30の間でなければなりません

文字!パスワード1:「パスワードは6〜30の間でなければなりません。

文字!成功:偽

+0

クライアント側の検証?またはサーバー側の検証? – Aravind

+0

スパムにajaxエラーレスポンスが表示されます。 – Ironic

答えて

0

タグに

<form novalidate> 

独自のクライアント側の検証を行うことを計画している場合、あなたが独自の検証泡を作成する場合は、これを使用する可能性がある場合、またはを形成するためにNOVALIDATE属性を追加します。すべてのサーバー側の検証を実行する予定です(とにかく実行する必要があります)。

関連する問題