我使用的是jQuery验证插件。我有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">发布于 2011-11-22 00:37:20
您需要使用验证插件的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);
}
}
}发布于 2011-11-22 00:25:58
只是打个电话
$("form").validate();并为输入字段提供一个必需的类。
如果您想要自定义消息,可以将上面的javascript更改为:
$("form").validate({
messages : {
flickr_set : "Flickr set is required",
flickr_id : "Flickr ID",
flickr_photos-count : "Photos count is required"
}
});https://stackoverflow.com/questions/8214988
复制相似问题