jQuery验证select的自定义方法

时间:2013-01-11 19:24:08

标签: jquery jquery-validate

我正在使用jQuery验证器和统一插件来理解我的选择元素。问题是当select返回无效时,用户不知道该元素是隐藏的。因此,如果select有错误,我正在尝试编写一个自定义方法来将错误类添加到父元素。

这是我到目前为止所做的:

$.validator.addMethod(
    "selectvalidate", function(){
        if(!$(element).is(':visible')){
            return true;
        }
        else if($(element).val() == "") {
            $(element).parent('.selector').addClass('error');
            return false;
        }
        else{
            $(element).parent('.selector').removeClass('error');
            return true;
        }
    },
    "Please select an option"
);

HTML

<fieldset>
   <label>Field Label</label>
     <div class="selector"></div>
     <span>- Select -</span>
     <select>
         <option></option>
     </select>
</fieldset>

任何帮助都会很棒

1 个答案:

答案 0 :(得分:1)

您不一定需要自定义方法。只需使用errorPlacement:选项。

这是已经内置的默认功能......

errorPlacement: function(error, element) {
    error.insertAfter(element);
}

工作演示:http://jsfiddle.net/4ySLB/

您可以编辑默认函数以将错误放在任何位置,并根据需要操作DOM中的任何其他内容。

要获得更加个性化的答案,您必须提供更多代码和jsFiddle演示。