javascript – jQuery验证插件addMethod

我正在尝试使用jQuery验证插件通过使用自定义add.method来验证一些表单字段,我需要一些帮助.
这是我的html表单.

<form method="post" action="<?=$PHP_SELF?>" name="sf" id="sf">

 <p>
 <label for="name">Name:</label>
   <input type="text" name="name"  id="name" /><br />
 </p>

 <p>
 <label for="email">Email:</label>
   <input type="text" name="email"  id="email" /><br />
 </p>

</form>

基本上我正在尝试一个非常基本的规则来检查Name字段是否为空.
我正在尝试关注,请告诉我它是否正确?

<script type="text/javascript">
$(document).ready(function() {
$.validator.addMethod("name",function(value,element){
    return this.optional(element) || (i.test(value) > 0);
    },"Name is required");         
        $("#sf").validate({
                rules: {
                name: true,
                },
        });
    });
</script>

我想在窗体的名称字段前显示名称错误消息.我怎么能这样做?谢谢你的帮助.

解决方法:

如果您只想制作表单元素,则应在元素上添加所需的类:

<input type="text" name="name"  id="name" class="required" />

这将通过验证自动获取.

如果您这样做只是为了弄清楚如何添加自定义规则,我建议不要使用名为“name”的规则(我在一个简单的例子中遇到了问题).以下是您可以添加自定义规则以确保“名称”仅为字符的方法:

$.validator.addMethod("customname", function(value, element) {
    var i = /^[A-Za-z]+$/;
    return this.optional(element) || (i.test(value) > 0);
}, "Name is required");

$("#sf").validate({
    rules: {
        name: {
            customname: true
        }
    }
});

请注意,在rules对象内部,您必须指定另一个定义该元素规则的对象(名称).

至于将错误放在特定位置,请查看errorPlacement选项:

errorPlacement: function(error, element) {
    element.closest("p").prepend(error);
}

将错误放在标签和输入之间.

以下是两个实际操作的示例:http://jsfiddle.net/andrewwhitaker/7xD2H/

相关文章

1.第一步 设置响应头 header(&#39;Access-Control-Allow...
$.inArray()方法介绍 $.inArray()函数用于在数组中搜索指定的...
jquery.serializejson.min.js的妙用 关于这个jquery.seriali...
JS 将form表单数据快速转化为object对象(json对象) jaymou...
jQuery插件之jquery.spinner数字智能增减插件 参考地址:http...