当前位置: 首页 > 面试题库 >

用户离开字段后验证字段

慕容文昌
2023-03-14
问题内容

通过AngularJS,我可以使用ng-pristineng- dirty检测用户是否输入了该字段。但是,我只想在用户离开字段区域之后进行客户端验证。这是因为,当用户输入电子邮件或电话之类的字段时,他们总是会抛出错误,直到他们完成完整的电子邮件键入为止,这并不是最佳的用户体验。

更新:

Angular现在附带了一个自定义模糊事件:https
:
//docs.angularjs.org/api/ng/directive/ngBlur


问题答案:

Angular 1.3现在具有ng-model-options,您可以将选项设置{ 'updateOn': 'blur'}为例如,并且当使用的输入速度太快或者您想节省一些昂贵的DOM操作(例如模型编写)时,甚至可以进行反跳到多个DOM位置,并且您不希望每个键按下都发生$
digest循环)

https://docs.angularjs.org/guide/forms#custom-
triggers和https://docs.angularjs.org/guide/forms#non-immediate-debounced-
model-updates

默认情况下,对内容的任何更改都会触发模型更新和表单验证。您可以使用ngModelOptions指令覆盖此行为,以仅绑定到指定的事件列表。即ng-
model-options =“ {updateOn:’blur’}”仅在控件失去焦点之后才会更新和验证。您可以使用空格分隔的列表设置多个事件。即ng-
model-options =“ {updateOn:’mousedown blur’}”

并反跳

您可以通过在ngModelOptions指令中使用去抖动键来延迟模型的更新/验证。此延迟也将应用于解析器,验证器和模型标志,例如$ dirty或$
pristine。

即ng-model-options =“ {debounce:500}”自上次内容更改以来将等待半秒钟,然后触发模型更新和表单验证。



 类似资料:
  • 数据库字段约束 模型验证允许你为模型的每个属性指定格式/内容/继承验证. 验证会自动运行在create,update和save上. 你也可以调用validate()手动验证一个实例. class ValidateMe extends Model {} ValidateMe.init({ bar: { type: Sequelize.STRING, valid

  • 我有以下请求json 我试图验证这个json,我的要求是,如果ParameterB存在,那么里面肯定会有一个列表shd存在,否则ParameterB是可选的。例如,如果ParameterB本身只是不存在,那么shd不是一个问题。 我正在寻找相同的java验证注释。我在key和value上使用了@NotNull,但不能决定在ParameterB上使用什么,因为它是list所在的数组 我在Parame

  • 作用 验证给定字符串是否满足指定条件,一般用在表单字段验证里。 此类中全部为静态方法。 使用 判断验证 直接调用Validator.isXXX(String value)既可验证字段,返回是否通过验证。 例如: boolean isEmail = Validator.isEmail("loolly@gmail.com") 表示验证给定字符串是否复合电子邮件格式。 其他验证信息请参阅Validat

  • 我有两个数字字段来收集用户的数据。需要使用codeigniter表单验证类对其进行验证。 条件: 第一个字段可以为零 第二字段不能为零 第一字段不应等于第二字段 第二字段应大于第一字段 目前我使用 美元这个- 美元这个- 但是,如何验证上述第3和第4个条件? 提前谢谢。

  • 我正在使用Spring Boot 2.2.0用java bean验证框架构建一个restful服务。Hibernate-Validator在幕后使用。验证工作得很好,但在一个字段与约束不匹配后会引发异常。我想先验证所有字段,然后给消费者一个包含所有错误的响应。这可能吗?