我试图验证表单提交,即使用户仅在一个字段中输入他的名字和姓氏。
我知道:在其他国家,不是这样,但是我在为巴西做,所以它的名字和姓氏。
我尝试过的:
<input type="text" name="fullname" pattern="^.* .*$">
但这没用。
该字段需要一个名字(最少2个字符,没有限制),一个空格,然后是姓氏,最少1个字符,也没有限制。
示例:
是:
Joãoda Silva
JoãoS
JoãoS。
Joao S. Pedro
假:
Joao
João
Joao(仅一个空格)
我希望你能理解我。
非常感谢您。
实际代码:无法进行任何验证:
<form action="http://xxxxxxxxx" method="POST">
* Nome Completo: <input type="text" name="fullname" required="required" pattern="^(\w\w+)\s(\w+)$" /><br>
* Telefone: <input type="tel" name="mobilephone"/><br>
* E-Mail: <input type="email" name="emailaddress1"><br>
* Informe melhor horário para contato: <input type="text" name="crmcol_sugestaodecontato"><br>
<input type="hidden" name="crmcol_novocontato" value="64340000"><br>
<input type="hidden" name="crmcol_origemdoregistro" value="643400005"><br>
<input type="submit" value="Enviar" class= "botaoenvio" onclick="this.disabled=true;this.value='Enviando, aguarde um momento..';this.form.submit();">
答案 0 :(得分:0)
此模式查找2个或更多“单词字符”,一个空格,然后寻找1个或多个以下单词字符:
pattern="^(\w\w+)\s(\w+)$"
除非pattern=""
位于input
内,否则不会发生使用<form>
的自动客户端验证,还应该添加required
布尔属性以避免空(但有效)输入。
我制作了一个JSFiddle在这里展示它:https://jsfiddle.net/3r4Luwnp/
我用更新的标记创建了一个JSFiddle,它看起来像您在onclick
处理程序中的自定义脚本直接调用form.submit()
一样,这将跳过客户端输入验证。
如果将按钮更改为<button type="submit">
并删除onclick
JavaScript,那么它将正常工作: