1

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

4

3 回答 3

1

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

试试 $touched。

我已经分叉了你的 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>
于 2015-04-08T07:48:59.150 回答
1

我相信你应该使用updateOn

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

随着

novalidate=""

在表格上

于 2016-09-23T10:16:31.463 回答
0

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

于 2015-04-08T07:27:02.847 回答