14

嗨,我正在使用 jquery 验证插件。

我有一个奇怪的问题,我有这样的验证

jQuery("#profile_info").validate({

    rules : {
        city : {
            required : true,
            minlength : 3,
            maxlength : 30,
            cityvalidation: true
        },
        state : {
            required : true,
            minlength : 3,
            maxlength : 30,
            cityvalidation: true
        }
    },
    messages : {
        city : {
            required : " City must be  filled in",
            minlength : "At least 3 characters long",
            maxlength : "Should not exceed 30 characters",
        },
        state : {
            required : " State must be  filled in",
            minlength : "At least 3 characters long",
            maxlength : "Should not exceed 30 characters",
        }
    }
});

cityvalidation

jQuery.validator.addMethod("cityvalidation", function(value, element) {
      return this.optional(element) || /^[a-zA-Z\u0080-\u024F\s\/\-\)\(\`\.\"\']+$/i.test(jQuery.trim(value));
    }, "You Have Typed Unallowed Charactors");

我的输入字段是

                                                    <div class="select-date-container-side location-codes">
                                                        <input id="city" name="city"
                                                            value="<?php if(isset($profileinfo['CityName'])){echo $profileinfo['CityName'];}else if(isset($city)){echo $city;} ?>"
                                                            title="City" type="text"
                                                            class="smaler-textfield textfield clear-default"
                                                            tabindex="1900" />
                                                    </div>
                                                    <div class="select-date-container-middle location-codes">
                                                        <input id="state" name="state"
                                                            value="<?php if(isset($profileinfo['StateName'])){echo $profileinfo['StateName'];}else if(isset($state)){echo $state;} ?>"
                                                            title="State" type="text"
                                                            class="smaler-textfield textfield clear-default"
                                                            tabindex="1900" />
                                                    </div>

如果cityvalidation失败了。"You Have Typed Unallowed Charactors"消息,但不是显示字段的标题。

在此处输入图像描述

  • 如果我删除标题,它会完美运行。所以我应该做什么。我想获取自定义错误消息而不是 title 。请帮忙........

提前致谢 .....................

4

1 回答 1

28

嗯,我找到了。

我用了 ignoreTitle: true,

jQuery("#profile_info").validate({


    ignoreTitle: true,

    rules : {
        city : {
            required : true,
            minlength : 3,
            maxlength : 30,
            cityvalidation: true
        },
        state : {
            required : true,
            minlength : 3,
            maxlength : 30,
            cityvalidation: true
        }
    },
    messages : {
        city : {
            required : " City must be  filled in",
            minlength : "At least 3 characters long",
            maxlength : "Should not exceed 30 characters",
        },
        state : {
            required : " State must be  filled in",
            minlength : "At least 3 characters long",
            maxlength : "Should not exceed 30 characters",
        }
    }
});
于 2012-04-24T06:32:36.077 回答