Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角形;“必需”;使用ng模型选项_Javascript_Angularjs - Fatal编程技术网

Javascript 角形;“必需”;使用ng模型选项

Javascript 角形;“必需”;使用ng模型选项,javascript,angularjs,Javascript,Angularjs,我有一个包含两个字段的表单: <form name="form"> <input type="email" ng-model-options="{ updateOn: blur }" required /> <input type="password" ng-model-options="{ updateOn: blur }" required /> <div ng-show="form.password.$error.requi

我有一个包含两个字段的表单:

<form name="form">
    <input type="email" ng-model-options="{ updateOn: blur }" required />
    <input type="password" ng-model-options="{ updateOn: blur }" required />
    <div ng-show="form.password.$error.required">Password required</div>
</form>

需要密码
当密码字段为空时,始终显示error div-我只希望在密码已聚焦然后模糊时显示它。是否可以进行简单更改以启用此功能?

需要密码
<div ng-show="form.password.$error.required && form.password.$dirty">Password required</div>

您可以通过添加脏字段的条件来实现这一点。因此,如果字段是污垢,那么只有它才会显示错误,这应该使用
$pristine
属性才能工作

<div ng-show="!form.password.$pristine && form.password.$error.required">Password required</div>
需要密码
$pristine
如果用户尚未与控件交互,则返回true


您可能需要类似于
$dirty
(从默认值更改)或
$toucted
(根据您的型号选项,至少模糊一次,可能是您想要的)

例子
formname=“form”>
需要密码
我在这里使用了
ng消息
,因为它很整洁,但您不必使用它,只要将条件添加到
ng show
/
ng if

工具书类
form name="form">
    <input type="email" ng-model-options="{ updateOn: blur }" required />
    <input type="password" ng-model-options="{ updateOn: blur }" required />
    <div ng-messages="form.password.$error" ng-if="form.password.$touched">
      <div ng-message="required">Password required</div>
    </div>
</form>