2017-04-11 94 views
0

我创建一个表单,并试图把在以下密码验证:AngularJS 1.x:如何以ng模式显示自定义消息?

至少8,至少1大写字母,1个小写字母,1号和特殊字符:

使用以下regrex:

"/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[[email protected]$!%*?&])[A-Za-z\[email protected]$!%*?&]{8,}/" 

代码:

Password:<input type="text" name="pass" ng-model="password" ng-pattern="/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.{8,}$)(?=.*[[email protected]$!%*?&])[A-Za-z\[email protected]$!%*?&]/" required /> 
<span style="color:Red" ng-show="personForm.pass.$error.required"> Required! </span> 
<span style="color:Red" ng-show="personForm.pass.$dirty&&personForm.pass.$error.pattern">Please Enter Valid Pass</span> 

现在,我想要做的是显示动态信息给用户作为他填写密码。例如。如果他填充了大写,小写字母,特殊字符但未填充数字,我想显示“密码应包含数字”。 是否可以不点击提交? 或者我应该点击按钮来代替它?

回答

0

我不认为你可以这样做,给你的密码组合的一个小消息,并把提交按钮处于禁用状态,直到你的密码无效。

0

正确答案是使用ngMessages。请参阅here(自1.3版本以来,我认识到这可能对于本文来说太新了)。

相关问题