故意使用虚拟模式使html5表单验证器无效

时间:2018-03-13 14:38:21

标签: regex html5 reactjs validation html-validation

如果满足特定条件,我想以编程方式将输入设置为无效,例如

<input type="text" required />

让我们以变量isValid为例,如果是false,我希望这个气泡显示默认浏览器气泡(onsubmit)和提供的自定义错误。因此,为了添加自定义错误,我想出了解决方案

<input 
    type="text" 
    required 
    oninvalid="this.setCustomValidity('Please Enter valid name')"
    oninput="setCustomValidity('')" 
/>

然而,这只检查它是否为空,额外的验证来自一个名为pattern的字段然而那个正则表达式,所以我想也许做几乎所有的情况正则表达式'isValid == true'否则a每次都会掉落的正则表达式,例如(反应)

<input 
    type="text" 
    required
    pattern={isValid ? 'regex valid always' : 'regex fail always'}
    ...
/>

这甚至可以工作吗?有没有更好的方式我没有看到?

1 个答案:

答案 0 :(得分:0)

感谢@revo的帮助,让它与...合作:

<input 
    type="text" 
    required
    pattern={isValid ? null : '(?!)'}
    ...
/>