Jquery验证 - 没有标签 - 添加到现有元素,可以这样做吗?

时间:2011-07-22 16:00:23

标签: jquery class jquery-validate label

我需要一些帮助,所以我想我来对了地方。我需要的是一种添加错误类/必需信息类以形成不正确/有效的字段的方法。

目前我有这个:

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform">
    <div class="_required"><p class="label_left">Name*</p>
        <input type="text" size="50" name="contactname" id="contactname" value="" class="required" />
    </div>
    <br/><br/>
    <div class="_required">
        <p class="label_left">E-mail address*</p>
        <input type="text" size="50" name="email" id="email" value="" class="required email" />
    </div>
    <br/>
    <br/>
    <p class="label_left">Message</p>
    <textarea rows="5" cols="50" name="message" id="message" class="required">
    </textarea>
    <br/>
    <input type="submit" value="submit" name="submit" id="submit" />
</form>

使用jquery位:$(“#contactform”)。validate({

但是我不希望errror出现在一个或任何其他元素中,而不是在这个div中出现:因为我想用背景颜色包装它。

那么我该怎么做...可以吗?&gt;

任何帮助或方向都会很棒,这是我第一次尝试Jquery

3 个答案:

答案 0 :(得分:1)

您可以这样替换插件的默认报告:

$('#contactform').validate({
            showErrors: function(errorMap, errorList) {

                //restore the normal look
                $('#contactform div.required').removeClass('required').addClass('_required');

                //stop if everything is ok
                if (errorList.length == 0) return;

                //Iterate over the errors
                for(var i = 0;i < errorList.length; i++)
                    $(errorList[i].element).parent().removeClass('_required').addClass('required');
            }
});

答案 1 :(得分:0)

据我了解你的问题,你可以这样做

jQuery.validator.addClassRules({

http://docs.jquery.com/Plugins/Validation/Validator/addClassRules#rules

答案 2 :(得分:0)

尝试添加突出显示和取消突出显示规则以获取突出显示错误元素

 $("#contactform").validate({

        },

        highlight: function (element, errorClass) {                
            $(element).css({ "background-color": "#EE2E24"});
        },

        unhighlight: function (element, errorClass) {
            $(element).css({ "background-color": "#FFFFFF" });
        },

         messages: {
            contactName: "",
            email: "",
            message: ""
        }

 });