Javascript Angular JS | Angular验证匹配密码
我正在尝试使用来自的角度验证匹配。我无法触发匹配项以导致任何类型的表单验证。现在,即使密码不同,也不会显示密码不匹配。这可能是什么原因?下面是htmlJavascript Angular JS | Angular验证匹配密码,javascript,angularjs,forms,validation,match,Javascript,Angularjs,Forms,Validation,Match,我正在尝试使用来自的角度验证匹配。我无法触发匹配项以导致任何类型的表单验证。现在,即使密码不同,也不会显示密码不匹配。这可能是什么原因?下面是html <form name="vm.changeForm" ng-submit="vm.changeForm.$valid && vm.attemptChange(password);" > <md-input-container class="md-block">
<form name="vm.changeForm"
ng-submit="vm.changeForm.$valid && vm.attemptChange(password);"
>
<md-input-container class="md-block">
<input required
type="password"
placeholder="New Password"
name="passwordName"
ng-model="password"
/>
<div ng-messages="vm.changeForm.passwordConfirm.$error"
ng-if="vm.changeForm.passwordConfirm.$touched"
role="alert"
>
<div ng-message="required">Please enter a password.</div>
</div>
</md-input-container>
<md-input-container class="md-block">
<input required
type="password"
placeholder="Confirm New Password"
name="myConfirmField"
ng-model="passwordConfirm"
match="password"
/>
<div ng-show="vm.changeForm.passwordConfirm.$error.match"
ng-if="vm.changeForm.passwordConfirm.$touched"
role="alert">Passwords do not match</div>
</md-input-container>
</form>
请输入密码。
密码不匹配
注意:
div
上使用ng if和ng show,这是不必要的,您可以简单地转换为一个简单的ng if
name
属性,而不是ng模型
输入
名称为myConfirmField,因此必须替换此字段:
<div ng-show="vm.changeForm.passwordConfirm.$error.match" ng-if="vm.changeForm.passwordConfirm.$touched" role="alert">Passwords do not match</div>
密码不匹配
用于:
密码不匹配
那么你应该得到预期的结果
<div ng-if="vm.changeForm.myConfirmField.$touched && vm.changeForm.myConfirmField.$error.match" role="alert">Passwords do not match</div>