jQuery 验证插件错误 CSS

Phi*_*ord 3 css jquery-validate

我想在错误时将标签字体颜色更改为红色或将文本框元素着色为红色。我使用的 CSS 对我不起作用,如果验证插件添加的标签错误,我不确定如何更改单选框/文本框的标签。

// HTML

<form id="form1" name="form1" class="form1" method="post" >     
    <label for="gender">
        Gender                          
    </label>

    <input type="radio" name="gender" value="female" id="gender_0" />
        Female
    </input>
    <br />

    <input type="radio" name="gender" value="male" id="gender_1" />
        Male
    </input>
        <br />

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

    <input type="submit" name="Submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

// JS

$().ready(function() {

    $("#form1").validate({
        rules: {
            gender: "required",
                        name: "required"
        },
        messages: {
            gender: "Please select an option",
                        name: "Please enter your name"
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

// CSS

#form1 label.error {
    margin-left: 10px;
    width: auto;
    display: inline;
}
Run Code Online (Sandbox Code Playgroud)

Val*_*sel 5

您可以将每个label-input组合包裹在 a 中div,然后使用内置highlight函数:

HTML

<form id="form1" name="form1" class="form1" method="post" >
    <div>    
        <label for="gender">Gender</label>
        <br /><input type="radio" name="gender" value="female" id="gender_0" />Female
        <br /><input type="radio" name="gender" value="male" id="gender_1" />Male
    </div>
    <div>
        <label for="name">Name</label>                    
        <input type="text" name="name" id="name" />
    </div>

    <br /><br />
    <input type="submit" name="Submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

jQuery

$("#form1").validate({
    rules: {
        gender: "required",
        name: "required"
    },
    messages: {
        gender: " - Please select gender",
        name: " - Please enter your name"
    },
    errorElement: "span",
    errorPlacement: function(error, element) {
        element.siblings("label").append(error);
    },
    highlight: function(element) {
        $(element).siblings("label").addClass("error");
    },
    unhighlight: function(element) {
        $(element).siblings("label").removeClass("error");
    }
});
Run Code Online (Sandbox Code Playgroud)

CSS - 错误/高亮类

.error {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

JSFiddle 演示在这里

希望这可以帮助 !