jQuery Validation Plugin:在“errorPlacement”选项中显示我自己的图像错误

时间:2009-08-08 12:20:15

标签: jquery

我正在使用jquery验证插件。我正在使用以下函数在表元素的下一个td(列)中显示默认错误消息。

$(obj).find("form").validate({


    errorElement: "div",
            wrapper: "div",

    errorPlacement: function(error, element) {  
        error.appendTo( element.parent().next() );
    }

 });

此功能显示默认消息,但我想显示自己的错误消息。

例如我想要这个:

<img id='error' src='images/crosssign.gif' />")Please fill this field.

而不是:

"This field is required."

提前致谢。

3 个答案:

答案 0 :(得分:1)

您可以为要验证的字段创建消息。来自jquery site

$(".selector").validate({
   rules: {
     name: "required",
     email: {
       required: true,
       email: true
     }
   },
   messages: {
     name: "Please specify your name",
     email: {
       required: "We need your email address to contact you",
       email: "Your email address must be in the format of name@domain.com"
     }
   }
})

答案 1 :(得分:0)

前一段时间我问了同样的问题here is the thread

答案 2 :(得分:0)

过了一段时间我得到了答案。事实上,我想在输入字段的下一列(td)中显示带有callout(包含错误)的图像,该字段未经验证插件验证。当验证输入字段时,应删除此错误图像及其标注。

这是我的解决方案。

$("form").validate({

    errorPlacement: function(error, element) {

        //There should be an error
        if(error.html() != ''){         

            element.parent().next().html("<img id='exclamation' src='images/exclamation.gif' />").callout({
                width       : 200,
                cornerRadius    : 8,
                className   : "validationCallout",
                content     : error,
                align       : "left",
                nudgeHorizontal : -14,
                nudgeVertical   : 4,
                arrowHeight : 6
            });     
        }
    },

    success: function( label ) {
        $(obj).find(".valid").parent().next().html("");         //remove error image from next column(td) of input containing "valid" class
        $(obj).find(".valid").parent().next().closeCallout();   //remove callout on error image from next column(td) of input containing "valid" class
    }

});

这段代码可能很复杂但现在对我有用。这里使用的callout插件与问题无关,但可以帮助其他任何其他插件。 有人能让它变得更简单吗?