jQuery表单验证- phoneUS和默认消息样式

jQuery form validation - phoneUS and default message style

本文关键字:默认 消息 样式 phoneUS 表单 验证 jQuery      更新时间:2023-09-26

我试图创建一个表单的请求(美国)电话号码,是用jQuery验证插件验证。下面是两个例子。

  1. 美丽的错误信息,但不验证电话号码
  2. 普通错误消息,但不验证电话号码

它们使用相同的HTML(见下文)。第二个也使用了一些JavaScript(见下文)。

HTML

<form id="myform">
<table>
    <tr>
        <td>Name</td>
        <td>Phone Number</td>
        <td></td>
    </tr>
    <tr>
        <td>
            <input type="text" name="Name" required="required" />
        </td>
        <td>
            <input type="phoneUS" name="PhoneNumber" />
        </td>
        <td>
            <input type="submit" />
        </td>
    </tr>
</table>
</form>
JavaScript

$(document).ready(function () {
$('#myform').validate({ // initialize the plugin
    errorElement: 'div',
    submitHandler: function (form) { // for demo
        alert('valid form submitted'); // for demo
        return false; // for demo
    }
});
});

我想要漂亮的错误消息和电话号码的验证,但我不知道如何做到这一点。事实上,我甚至不明白第一个是如何验证任何东西的,因为没有显式调用验证代码。

谁能解释一下这是怎么回事?

由于名称输入上的required="required"属性,显示了"beautiful"错误消息。

这是一个标准的HTML5表单验证属性,因此完全由浏览器处理。就像生活中的许多事情一样,你的美可能和我的不一样,这取决于你的浏览器。

较旧的浏览器根本无法识别它- http://caniuse.com/#search=form%20validation例如,10之前的IE。

还有一个用于电话号码的input type="tel" -这对于移动设备特别好,因为它应该显示数字键盘而不是标准的alpha键盘-但浏览器支持更有限:http://caniuse.com/#feat=input-email-tel-url

tel类型也有一个pattern属性,它接受一个正则表达式,用于指定特定的电话号码格式:http://www.w3.org/TR/html-markup/input.tel.html

但是总的来说,如果你需要一个一致的错误信息,并且你需要与旧浏览器兼容,那么你就需要一个基于Javascript的解决方案。

Edit:使用input type="tel"和我认为是美国电话号码更新了您的JSFiddle示例。模式(nnn-nnn-nnnn): http://jsfiddle.net/h5xf2wdk/1/