2014-12-05 72 views
0
<div class="row" ng-if="MyTest.Item.MyPassword != MyTest.Item.ConfirmPassword"> 
     <div class="col-md-12"> 
     <p class="red-color"> Password must be between 4 and 8 digits long and include at least one numeric digit And Passwords must match! </p> 
     </div> 
</div> 

我需要顯示上述消息時,「MYPASSWORD!= ConfirmPassword」和正則表達式「/^(?=.*\d).{4,8}$/」不是如何使用ng-if使用正則表達式?任何幫助將不勝感激。正則表達式與NG-如果

回答

0

在您的輸入字段中,添加您所需的模式。

<input type="password" ng-model="MyTest.Item.MyPassword" ng-pattern="/^(?=.*\d).{4,8}$/"/>

這將確保您的窗體的$valid是真的

,並在您div添加附加條件:

ng-if="MyTest.Item.MyPassword != MyTest.Item.ConfirmPassword && myForm.$invalid"

1

在您的看法:

ng-if="isValid()" 

在您的控制器中:

$scope.isValid = function(){ 
    return MyTest.Item.MyPassword == MyTest.Item.ConfirmPassword 
      && yourRegexp.test(MyTest.Item.MyPassword); 
} 
+0

如何在ng-if中調用函數?它應該是一個布爾值no? – Sampath 2014-12-05 18:35:23

+0

@桑帕斯,是的。但是我的** isValid()**函數也返回布爾值。 請參閱以下示例:http://jsfiddle.net/JuS7W/ – 2014-12-05 22:02:09