2016-02-05 56 views
0

您好我正在創建一個註冊表單,並且我想檢查使用angular如果用戶輸入的密碼匹配。我所有的驗證工作(需要,最大長度最小&),但我總是得到密碼不匹配的錯誤。ng模式密碼匹配

我的代碼如下

<div class="control-group"> 
 
<label class="control-label">Password</label> 
 
<div class="controls" ng-class="{ 'has-error': addCustomerForm.password_1.$touched && addCustomerForm.password_1.$invalid }"> 
 
    <input type="text" name="password_1" class="form-control input-lg" ng-model="newCustomerInfo.password_1" ng-minlength="4" ng-maxlength="12" required> 
 
    <div ng-messages="addCustomerForm.password_1.$error" ng-if="addCustomerForm.password_1.$touched"> 
 
     <div ng-message="required">This field is required</div> 
 
     <div ng-message="minlength">The password is too short.</div> 
 
     <div ng-message="maxlength">The password is too long.</div> 
 
    </div> 
 
</div> 
 
</div> 
 

 

 
<div class="control-group"> 
 
<label class="control-label">Password (Confirm)</label> 
 
<div class="controls" ng-class="{ 'has-error': addCustomerForm.password_2.$touched && addCustomerForm.password_2.$invalid }"> 
 
    <input type="text" name="password_2" class="form-control input-lg" ng-model="newCustomerInfo.password_2" ng-minlength="4" ng-maxlength="12" ng-pattern="/^{{password_1}}$/" required> 
 
    <div ng-messages="addCustomerForm.password_2.$error" ng-if="addCustomerForm.password_2.$touched"> 
 
     <div ng-message="required">This field is required</div> 
 
     <div ng-message="minlength">The password is too short.</div> 
 
     <div ng-message="maxlength">The password is too long.</div> 
 
     <div ng-message="pattern">The passwords do not match.</div> 
 
    </div> 
 
</div> 
 
</div>

我想,這個問題可能是在NG模式= 「/^{{password_1}} $ /」但我不知道如何調試,所以我可以看到ng-parent的價值。

任何幫助將不勝感激! Andreas。

回答

4

您想使用ng-pattern="{{newCustomerInfo.password_1}}"password_1沒有限定,並且每該文檔:

如果表達式計算爲一個字符串,那麼它將在^$字符包裹之後轉換爲正則表達式。例如,​​將被轉換爲new RegExp('^abc$')(又名:/^abc$/)。

+0

感謝Iso的快速反應 –