如何将 ng-required 与 $touched 一起使用?
How to use ng-required with $touched?
如果另一个输入发生变化,我会尝试根据需要设置一个输入。如果密码已更改,我的需求是要求确认密码。
我在输入确认密码时使用它,但从来不需要它:
ng-required="userForm.Password.$touched"
另一个问题:有没有办法删除 ng-Model="user.ConfirmPassword"
?因为我的模型不需要 ConfirmPassword "user",不是吗?
您应该使用 name
属性 而不是 id
。
此外,这不是有效的语法:
<span class="error" ng-show="userForm.Password.$touched userForm.Password.$error.required">Password is required</span>
应该是:
<span class="error" ng-show="userForm.Password.$touched">Password is required</span>
那么它就可以正常工作,只要Password
是输入元素的名称,而不是ID。
您没有使用 name
属性,因此您不能使用 Password 和 ConfirmPassword 的表单属性...
也将 AND 更改为 OR..
这里是更新的代码
<form name="userForm" ng-controller="userController">
<label for="Password">Set a password:</label>
<input type="password" name="Password" id="Password" ng-model="user.Password" required />
<span class="error" ng-show="userForm.Password.$touched">Password is required</span>
<br />
<label for="ConfirmPassword">Confirm the password:</label>
<input name="ConfirmPassword" type="password" id="ConfirmPassword" ng-model="user.ConfirmPassword" ng-required="userForm.Password.$touched" />
<span class="error" ng-show="userForm.Password.$touched || userForm.ConfirmPassword.$touched || userForm.ConfirmPassword.$error.required">Confirm password is required</span>
<br/>
<span>Password: {{user.Password}}</span>
<br/>
<span>Conform Password: {{user.ConfirmPassword}}</span>
</form>
如果另一个输入发生变化,我会尝试根据需要设置一个输入。如果密码已更改,我的需求是要求确认密码。
我在输入确认密码时使用它,但从来不需要它:
ng-required="userForm.Password.$touched"
另一个问题:有没有办法删除 ng-Model="user.ConfirmPassword"
?因为我的模型不需要 ConfirmPassword "user",不是吗?
您应该使用 name
属性 而不是 id
。
此外,这不是有效的语法:
<span class="error" ng-show="userForm.Password.$touched userForm.Password.$error.required">Password is required</span>
应该是:
<span class="error" ng-show="userForm.Password.$touched">Password is required</span>
那么它就可以正常工作,只要Password
是输入元素的名称,而不是ID。
您没有使用 name
属性,因此您不能使用 Password 和 ConfirmPassword 的表单属性...
也将 AND 更改为 OR..
这里是更新的代码
<form name="userForm" ng-controller="userController">
<label for="Password">Set a password:</label>
<input type="password" name="Password" id="Password" ng-model="user.Password" required />
<span class="error" ng-show="userForm.Password.$touched">Password is required</span>
<br />
<label for="ConfirmPassword">Confirm the password:</label>
<input name="ConfirmPassword" type="password" id="ConfirmPassword" ng-model="user.ConfirmPassword" ng-required="userForm.Password.$touched" />
<span class="error" ng-show="userForm.Password.$touched || userForm.ConfirmPassword.$touched || userForm.ConfirmPassword.$error.required">Confirm password is required</span>
<br/>
<span>Password: {{user.Password}}</span>
<br/>
<span>Conform Password: {{user.ConfirmPassword}}</span>
</form>