【发布时间】:2014-11-25 01:05:47
【问题描述】:
我正在尝试使表单中的所有内容都成为必需,包括选择菜单。 w3schools 表示没有主流浏览器支持<select> 标签上的required 属性..
http://www.w3schools.com/tags/att_select_required.asp
真的没有办法像输入文本字段一样在选择菜单上提供客户端验证吗?我在这里有一个working plunkr,如果您在所有空白处单击检查,则警告会出现在第一个输入下方,即使它上方有一个选择菜单。
如果它正在工作,“此字段是必需的”消息将出现在选择菜单下,因为它是第一个无效的表单项。此外,如果您填写所有输入字段,则不会出现任何消息。该代码是有角度的,跨越 5 个文件,因此请在 plunkr 上查看。
如果您知道对选择菜单应用相同验证的任何方法,或者确认这是不可能的,我将不胜感激。
【问题讨论】:
-
required 绝对适用于所有主流浏览器,并且使用 angular,您可以轻松检查提交时的
form.valid属性,它会告诉您它是否有效。除非您知道自己在做什么并且只需要函数参考,否则我永远不会听 w3schools。 -
表单提交后你在做什么?如果它正在调用 PHP 文件,您可以在其中进行验证,如果出现错误则重定向。
-
@ShanRobertson 不仅在与带有 html5 的
<input>标记一起使用时吗? (真正的问题) -
@SO 这将是服务器端验证,它已经存在。它正在调用一个 PHP AJAX 文件
-
@SO 正确,你必须有一个有效的 html5 文档。
标签: javascript html angularjs client-side-validation