Javascript HTML5 checkValidity表示空输入有效

Javascript HTML5 checkValidity表示空输入有效,javascript,html,checkvalidity,Javascript,Html,Checkvalidity,鉴于以下文件: <input pattern="[a-z]"/> 返回true 既然空输入与[a-z]不匹配,为什么要返回true?使用必需的来不验证空输入 <input pattern="[a-z]" required /> 您可以通过添加一个检查,确保您的值不是空的,从而避免添加必需的。这很明显,但我想我会在这里提到它,因为我没有发布这个输入,添加required会强制用户输入一个值,这不是我需要的 if (myCustomJavaScript.notFalsy(

鉴于以下文件:

<input pattern="[a-z]"/>
返回
true


既然空输入与
[a-z]
不匹配,为什么要返回
true

使用
必需的
来不验证空输入

<input pattern="[a-z]" required />

您可以通过添加一个检查,确保您的值不是空的,从而避免添加
必需的
。这很明显,但我想我会在这里提到它,因为我没有发布这个输入,添加required会强制用户输入一个值,这不是我需要的

if (myCustomJavaScript.notFalsy($input.val()) && $input[0].checkValidity()) {
 // Submit AJAX request.
}

当然,这个设计决策背后的基本原理是能够验证可选字段。您可以验证整个表单(验证所有包含的输入),也可以单独验证字段并相应地采取行动。两种选择都有优点/缺点
if (myCustomJavaScript.notFalsy($input.val()) && $input[0].checkValidity()) {
 // Submit AJAX request.
}