HTML5必填字段错误消息问题

时间:2016-06-29 17:09:34

标签: javascript css html5 validation

我正在研究这个非常漫长而复杂的形式,但我会尝试让我的例子非常基本。该表单有200多个字段,并且有许多条件变体。

举个例子,假设我的表单以单个问题开头,并有两个单选按钮选项。问题可能是:

你有车吗? 回答是,或否。

如果您回答“否”,它将显示100个问题(与其他条件有关),并且可以说这100个问题中有50个是必需的。

如果您回答“是”,则会显示100个问题(包含其他条件),并且可以说这些问题中有50个是必需的。

我有一些JavaScript在表单提交时将任何隐藏字段标记为已禁用,因此隐藏的必填项不会挂起表单。这样完美地工作。但我遇到的问题是,如果我回答是,并且我回答了50个必填字段中的40个,则由于隐藏字段,html5错误消息不会出现。

我想要做的是,当一个字段没有被填充但是需要时,它会做一些其他事情而不是弹出该错误信息。比如将文字颜色改为红色或其他东西。

这是否适用于默认的HTML5验证?

2 个答案:

答案 0 :(得分:1)

您可以使用CSS伪类来实现其中一些,但根据您对问题的解释,我不确定这会回答您的整个问题。

对于需要且具有无效数据的字段(注意;在此方案中,默认情况下空字段的文本颜色为红色):

:invalid:required { color: red; }

对于需要且具有有效数据的字段:

:valid:required { color: green; }

答案 1 :(得分:0)

为什么不改变输入元素的属性以在隐藏它们的同时删除所需的属性,而在显示它们时则相反?

(我可能误解了这个问题)

或者您可以提交检查输入的值,如果它们是空的,则检查所需的属性,然后执行闪光效果。