Forms HTML5表单验证:默认值=无效,这是正常行为吗?

Forms HTML5表单验证:默认值=无效,这是正常行为吗?,forms,html,validation,Forms,Html,Validation,我正在使用HTML5表单验证构建表单。 我定义了CSS类input:valid和input:invalid。一些输入字段被标记为必需,但并非全部。默认情况下,未标记为required的字段是有效的,这意味着在我的例子中有绿色背景,这正常吗?默认情况下,required字段无效是否正常 如果这是正常的:他们为什么这样做?在我看来,在输入内容之前,将字段标记为有效或无效对用户不是很友好。除了JavaScript,我还能做什么吗?是的,这是正常的行为。无论用户是否输入任何内容,他都应该知道标记为必需的

我正在使用HTML5表单验证构建表单。 我定义了CSS类
input:valid
input:invalid
。一些输入字段被标记为
必需
,但并非全部。默认情况下,未标记为
required
的字段是有效的,这意味着在我的例子中有绿色背景,这正常吗?默认情况下,
required
字段无效是否正常


如果这是正常的:他们为什么这样做?在我看来,在输入内容之前,将字段标记为
有效
无效
对用户不是很友好。除了JavaScript,我还能做什么吗?

是的,这是正常的行为。无论用户是否输入任何内容,他都应该知道标记为必需的字段将无效,直到他输入任何与模式匹配的内容(或任何内容:)


如果出于某种原因您不喜欢这种行为-对不起,但您应该使用JavaScript。

谢谢您的回答!我想我会应付的,你说得对。这是非常糟糕的用户体验,因为用户首先会受到无效字段的“惩罚”。不管字段是否为必填字段。默认情况下,通常的行为应该取消验证,并在字段模糊(和表单提交)或击键时验证。我们应该能够选择验证行为。在输入时看到电子邮件字段无效也是愚蠢的。我真的不喜欢这种行为,因为即使他们实现了它,我们仍然必须使用Javascript插件。@RobertKoritnik是的,这些人是谁让这样的事情出去的?我刚刚花了一个小时来审查一个项目的html5表单验证,现在我意识到我只是浪费了一个小时。没有html5验证,只是在开始实现时的一次微弱尝试。