【发布时间】:2014-01-31 09:08:31
【问题描述】:
我在验证中遇到了某些情况。我需要验证一个字段 - “名字”。我一直在使用的验证逻辑是 -
- 如果字段脏了,则根据正则表达式进行验证
ng-show="aspnetForm.FirstName.$dirty && aspnetForm.FirstName.$error.nameValidate"
-
如果该字段被标记为必需(当前保持所需字段完全取决于业务,因此我正在从 JSON 读取真/假值)然后用户可以尝试按原样提交表单
ng-show="blankSubmit && aspnetForm.FirstName.$error.required"
其中 blankSubmit 只是一个范围变量,我在单击提交按钮时设置为 true。
-
现在第三种情况是我没有得到的逻辑,如果用户点击名字文本框然后没有弄脏它,只是模糊了,那么如果 ng-required 设置为 true,则应该显示验证消息。如果我只是放置
ng-show="aspnetForm.FirstName.$error.required",然后在页面加载本身上显示错误消息,这是我不想要的,因为它给用户带来了糟糕的用户体验。我只希望在属性 ng-required 设置为 true 并且用户模糊文本框时显示错误消息。
【问题讨论】:
标签: javascript angularjs validation