jQuery验证组验证

时间:2011-11-21 16:23:42

标签: jquery jquery-validate

我正在使用jQuery validate插件。我有3个字段,只有在其中一个字段需要验证它们 它们不是空的,否则根本不验证。

<input type="text" data-validate="{validate:{required:true, 
messages:{required:'Flickr set is required'}}}" id="flickr_set" name="flickr_set">


<input type="text" data-validate="{validate:{required:true, 
messages:{required:'Flickr ID is required'}}}" id="flickr_id" name="flickr_id">

<input type="text" data-validate="{validate:{required:true,
positiveNumber:true, messages:{required:'Photos count is required',
positiveNumber:'Positive number is required'}}}" id="flickr_photos-count" name="flickr_photos-count">

2 个答案:

答案 0 :(得分:3)

您需要使用验证插件的dependency-callback方法。

这将允许您做的是:

  

根据给定回调的结果,使元素成为必需元素。

然后,您可以在3个字段上放置一个required验证规则,该字段表示仅根据函数回调的返回值才需要此字段;然后,您可以在字段上添加规则,如果任何字段不为空return true,则需要此字段;如果所有字段均为空,则不需要此字段return false

因此,如果填写任何字段,则所有字段都成为必需字段,如果它们全部为空,则不需要它们。

rules: {
    flickr_set: {
        required: function(element) {
            return ($("#flickr_set").is(':empty') && $("#flickr_id").is(':empty') && $("#flickr_photos-count").is(':empty') ? false : true);
        }
    },
    flickr_id: {
        required: function(element) {
            return ($("#flickr_set").is(':empty') && $("#flickr_id").is(':empty') && $("#flickr_photos-count").is(':empty') ? false : true);
        }
    },
    flickr_photos-count: {
        required: function(element) {
            return ($("#flickr_set").is(':empty') && $("#flickr_id").is(':empty') && $("#flickr_photos-count").is(':empty') ? false : true);
        }
    }
}

答案 1 :(得分:-2)

Just da a

$("form").validate();

并为输入字段提供所需的类。

如果您想要自定义消息,可以在javascript以上更改为:

$("form").validate({
    messages : {
        flickr_set : "Flickr set is required",
        flickr_id : "Flickr ID",
        flickr_photos-count : "Photos count is required"
    }
});