【问题标题】:HTML5 validation: field not required but, if filled in, must match pattern?HTML5 验证:字段不是必需的,但如果填写,必须匹配模式?
【发布时间】:2014-06-23 22:19:37
【问题描述】:

在玩 HTML5 验证时,我突然想到(似乎)不可能验证字段的输入除非它是必需的。

换句话说,不可能说“这个字段不是必需的,但如果你填写它,它必须匹配模式X。”例如:

<textarea pattern='.{5,10}'></textarea>

在 textarea 中输入 1-4 个字符(含),运行 element.willValidateelement.checkValidity() 均返回 true。

我知道 HTML5 验证还不完美。 HTML5 无法实现“仅在填充时验证”的概念吗?

【问题讨论】:

  • 您是否也尝试包含空模式? pattern='(|.{5,10})'&gt;没试过,只是想知道:)
  • 好声;我明天早上去看看。
  • 我试了一下(win/ff30),实际上对我来说没有所需的标志并定义模式按预期工作:&lt;input type="text" pattern="(a|b)"&gt;&lt;/textarea&gt; => 接受空,ab (jsfiddle.net/Armn6)
  • 我们在哪里提交互联网功能请求?这会很有帮助。
  • 在stackoverflow上

标签: javascript regex html api validation


【解决方案1】:

您可以在正则表达式中为完全空的文本添加另一个选项

<textarea pattern='(.{5,10}|^$)'></textarea>

【讨论】:

    猜你喜欢
    • 2015-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 2021-11-01
    • 2018-02-10
    • 2022-07-13
    • 2012-05-23
    相关资源
    最近更新 更多