0

这是我的情况。我需要在移动设备上显示数字键盘。我知道要做到这一点,您需要输入标签上的属性 type="number" 。

我还使用验证器来检查各种条件。我发现仅在 Chrome 中,如果类型设置为“数字”,验证器将不会触发。我曾尝试尝试使用 jQuery 更改属性,但它不会改变。我知道我的 jQuery 是正确的,因为如果我将它从“type”更改为“type1”,它会添加属性。

话虽如此,我认为这不会有什么不同,因为如果我检查元素,并手动将类型从“文本”更改为“数字”,验证就会中断。在 Firefox 和 IE 中运行良好,可能是 Chrome 中的一个错误。这可能与 Chrome 使用那些方便的向上/向下箭头这一事实有关,但如果跳过验证,这些对我没有帮助。如果有人知道解决方法,我很想听听。

附加信息:Chrome 是最新的。disableClientSideValidation 设置为 true,因为我讨厌警报并使用“显示错误”在页面上显示错误消息。编辑框绑定到数据类型“String”的托管 bean 中的字段。此外,我无法使用“attrs”添加属性,如果这样做会被忽略。有关验证的更多详细信息,请参阅此博客文章: http: //notesspeak.blogspot.com/2013/08/the-benefits-of-using-validator-in.html

4

1 回答 1

0

你的代码是什么?我认为这将有助于确定原因。

如果 disableClientSideValidation 设置为 true,浏览器应该不会对验证产生任何影响。服务器端验证不知道也不关心浏览器类型。

如果该字段为空,则不会运行自定义验证器。如果您需要强制输入该字段,您还需要添加一个必需的验证器。

于 2013-08-09T15:41:50.627 回答