jQuery表单验证:定义错误容器

Aha*_*ius 13 validation error-handling jquery jquery-validate

我正在使用jQuery验证插件来验证我的表单.它工作(将错误消息放在无效输入旁边,这会搞砸我的设计),但我想为每个输入字段指定错误容器.我找到了errorLabelContainer,但这会将所有错误放在一个容器中.

比方说,我有2个输入,一个有id name,一个有firstname.我们还假设我有2个错误跨度,有ID errorNameerrorFirstname.如何告诉jQuery将验证错误写入name带有id的span errorName.

这是我目前的jQuery:

$("#form").validate({
    errorLabelContainer: "#errors",
        rules: {
            name: {
                required: true
            },
            firstname: {
                required: true
            }
        },
        messages: {
            name: {
                required: "Enter name"
            },
            firstname: {
                required: "Enter firstname"
            }
        }
    })
Run Code Online (Sandbox Code Playgroud)

And*_*ker 13

我认为该errorPlacement选项适合您的需求:

自定义创建的错误标签的位置.第一个参数:创建的错误标签为jQuery对象.第二个参数:作为jQuery对象的无效元素.

您可以根据无效元素确定要放入错误的元素:

$("#form").validate({
    rules: {
        name: {
            required: true
        },
        firstname: {
            required: true
        }
    },
    messages: {
        name: {
            required: "Enter name"
        },
        firstname: {
            required: "Enter firstname"
        }
    },
    errorPlacement: function ($error, $element) {
        var name = $element.attr("name");

        $("#error" + name).append($error);
    }
});
Run Code Online (Sandbox Code Playgroud)

示例: http ://jsfiddle.net/R3aEQ/