如何设置模糊事件的验证?

时间:2015-04-08 06:06:28

标签: angularjs angularjs-validation

我在plunker中写了一些样本。我需要在用户离开时验证我的输入。我使用了ng-model-options="{ updateon: 'blur'}"ng-minlength工作正常,但这并不适用于ng-required验证。

3 个答案:

答案 0 :(得分:1)

(编辑,删除另一个例子,因为它令人困惑)

尝试$ touch。

我已经把你的Plunk分开了

http://plnkr.co/edit/tt5A1DUjmq07TiEKhtNP?p=preview

我还添加了两个字段,以便您可以看到它有效,例如从一个到另一个的标签。

HTML

<input name="inputA" type="text" ng-model="valueA" ng-required="true" ng-model-options="{updateOn: 'blur'}" ng-minlength="3" />
<span ng-if="myForm.inputA.$error.required && myForm.inputA.$touched">You didn't enter a value</span>
<span ng-if="myForm.inputA.$error.minlength">to short</span>
<br/>
<input name="inputB" type="text" ng-model="valueB" ng-required="true" ng-model-options="{updateOn: 'blur'}" ng-minlength="3" />
<span ng-if="myForm.inputB.$error.required && myForm.inputB.$touched">You didn't enter a value</span>
<span ng-if="myForm.inputB.$error.minlength">to short</span>

答案 1 :(得分:1)

我相信你应该使用 updateOn

ng-model-options="{updateOn: 'blur'}"

一起
novalidate=""
表格上的

答案 2 :(得分:0)

如果您在输入中添加ng-focus="blur = false" ng-blur="blur=!blur"并将ng-if更改为"myForm.input.$error.required && blur">,则当输入重新获得焦点时,该消息将消失,如果为空则显示为模糊。