$ .validator.addMethod()

时间:2011-04-18 13:02:41

标签: javascript jquery

我有一个下拉列表

$.validator.addMethod("ddlNames", function (value) {
        if ($("#NameList.val()=="-1") 
        {
            return false;
        }
        else 
        {
            return true;
                }        

    }, "Please select a valid Name");

此验证正常。但是当我更改下拉值(有效选择)时,错误消息先前显示其stil显示。请任何人帮帮我吗?

谢谢

2 个答案:

答案 0 :(得分:1)

更改下拉列表时,需要以编程方式调用验证。 例如。如果您有:YOUR_FORM验证。将变量分配给validate方法。 然后在下拉列表的更改事件中使用.form()调用它。

文档:http://jqueryvalidation.org/Validator.form/

示例代码:

$('#ddlNames').change(function() {
    form_validator.form();
});

var form_validator = $("#YOUR_FORM").validate({
   ignore: "",
    rules: {
        firstname: {
            required: true,
            minlength: 2
        },
        ...

答案 1 :(得分:0)

在document.ready中,您需要添加另一行(替换:#< targetform>与您的表单):

$('#<targetform>').validate({
    rules : {
        names : { ddlNames: true }
}
});

确保class="required"

上有<select>

你不应该自己清除它们,但有办法......:

$("#NameList").removeClass("error").addClass("valid");

$.validator.resetForm();

这将确保您每次都开始有效。