您好我正在尝试使用密码和确认密码输入创建一个简单的表单。
我发现了' ng-pattern'并且' ng-match'不要一起工作。 在密码标记没有填充值之前,它不会与ng-pattern限制匹配,因此他在本地范围内为空,并且由于“匹配”而导致匹配。密码标签和确认密码标签之间的指令我总是看到错误"错误密码不多"即使是相同的。
有什么方法吗?
由于
JButton

$scope.ok = function (){};
$scope.password = '';
$scope.confirmPassword = '';
$scope.passwordRegex ='(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,})$';

答案 0 :(得分:0)
在代码中进行以下更改: -
更改您的
<div ng-show="password != confirmPassword">
<div ng-show="form.confirmPassword.$error.match">
PasswordMismatch</div>
</div>
到此: -
<span ng-if="confirmPassword !== password"
ng-show="form.confirmPassword.$dirty">
Password Mismatch!
</span>
您需要在确认密码div标签
中添加此项<div ng-class="{'has-error' : userForm.confpwd.$invalid &&
!userForm.confpwd.$pristine}" >
</div>
删除正则表达式开头和结尾的单引号,并将其更改为: -
$ scope.passwordRegex = / ^(?!^ [0-9] $)(?!^ [a-zA-Z] $)^([a-zA-Z0- 9] {6})$ /;
这样做可以解决您的问题。