checkValidity 和有效性之间的区别

Riv*_*ivi 4 html javascript validation

我注意到输入元素验证有两种方法:

  1. element.checkValidity().
  2. element.validity.valid.

我知道这validity是一个对象,checkValidity而是一个函数,但我不明白什么时候应该使用它们中的任何一个以及它们之间的主要区别是什么。

str*_*str 6

HTMLSelectElement.checkValidity()

HTMLSelectElement.checkValidity()方法检查元素是否有任何约束以及它是否满足这些约束。如果元素未通过其约束,浏览器会在元素上触发可取消的无效事件,然后返回 false。

ValidityState.valid

是一个布尔值,表示元素满足所有约束验证,因此被认为是有效的。

因此,主要的区别在于,checkValidity()同时触发一个“无效”事件。如果您只想知道该值是否有效,请使用ValidityState.valid. 但是如果要将表单状态更改为无效,请使用checkValidity().