您可以使用bassassistance的jquery验证插件单独验证字段集吗?

前端之家收集整理的这篇文章主要介绍了您可以使用bassassistance的jquery验证插件单独验证字段集吗? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个使用验证插件的表单,但是我需要使用略有不同的条件来验证表单的单独部分-大多数字段将错误放置在下一个表格单元格中,但是对于一个字段,我需要将错误放置在其他地方.

这是主要表单字段的验证功能

jQuery("#form2").validate({
    rules: {
        street: {
            required: true,minlength: 5
        },city: {
            required: true,minlength: 3
        },state: {
            required: true
        },zip: {
            required: true,minlength: 5
        }
    },messages: {
        street: {
            required: "Please enter your address",minlength: "Address is too short"
        },city: {
            required: "Please enter your town/city",minlength: "Town/City is too short"
        },state: {
            required: "Please enter your county"
        },zip: { 
            required: "Please enter your postcode",minlength: "Postcode is too short"
        }
    },errorPlacement: function(error,element) {
            error.appendTo(element.parent("td").next("td"));
    }
}); // end validate

基本上,我还想单独验证此字段集,因此可以将不同的值用于errorPlacement:

    jQuery("#elecfields").validate({
    rules: {
        sup1: {
            minlength: 2
        }
    },messages: {
        sup1: {
            minlength: "must be 2 digits"
        }
    },element)
    {
        // different error placement is needed here
    }

}); // end elecfields validate

elecfields是form2内的一个字段集-但这似乎不起作用.

看来errorPlacement必须适用于表单中的所有字段,但是我只有一个需要错误的字段放置在其他地方.关于如何实现的任何想法?很感谢任何形式的帮助.

最佳答案
你是对的. errorPlacement处理程序的确适用于整个表单,但是在某些情况下,您也可以使用其中的逻辑来不同地处理错误.例如,您可以查看元素属性direclty并查看有问题的项目,或者可以基于公共父项(在您的情况下为字段集)对其进行过滤.例:

$("#form").validate({
    /* */
    errorPlacement: function(error,element)
    {
        if( element.closest("#subFieldSet").length ) {
            /* special handling */
        } else {
            /* generic handling */
            error.insertAfter(element);
        }
    }
});

猜你在找的jQuery相关文章