HTML5仅对某些输入无效

fli*_*pis 8 validation html5

我有一个非常简单的问题 - 有没有办法只为某些选定的输入禁用HTML5验证(而不是为整个表单设置"novalidate")?

我的意思是像<input type='number' required无效的东西>.但这不起作用.

你可能会问为什么我需要type ="number"或"required"呢?好吧,我需要它,因为我的框架使用它进行自己的验证.

编辑

这是一个特殊的输入 - 出生数.我需要它的类型编号(因为移动设备),但它的值主要用于"/"(例如860518/8757),这对于类型编号不是有效字符.所以我需要用户填写它而不用斜线(8605188757).问题是当html5输入中填写了无效值(例如数字类型中的"fsda")时,它似乎是空的,没有值.

因此,当用户以错误的格式填充值(860518/8757)时,html验证被禁用,因此JS验证运行,它被验证为空字段.所以错误信息就像"请填写字段出生号"(这真的令人困惑),而不是"抱歉,错误的格式".

我的解决方案是为此字段启用html5验证(因此在填写错误的格式时显示默认浏览器消息)但是对其他字段禁用它,以便仅使用我的JS验证来验证它们.

A.J*_*A.J 0

novalidate属性仅适用于表单标签,不能应用于表单控件。

\n\n

您可以在框架验证后删除 js 中的 required 属性:

\n\n
$('[Selector]').removeAttr('required');\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在所选字段将不会被验证。

\n

  • 认真的人,对 jQuery 投了反对票;浏览器*已经支持 JavaScript*;停止转储 70KB 的我不知道如何学习真实代码! (3认同)