0

我正在使用 jQuery 验证器和统一插件来修饰我的选择元素。The problem is when a select is returned invalid the user doesn't know since the element is hidden. 因此,如果选择有错误,我正在尝试编写一个自定义方法来将错误类添加到父元素。

这是我到目前为止所拥有的:

$.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>

任何帮助都会很棒

4

1 回答 1

1

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

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

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

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

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

要获得更自定义的答案,您必须提供更多代码和 jsFiddle 演示。

于 2013-01-11T19:29:15.620 回答