首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery验证组验证

jQuery验证组验证
EN

Stack Overflow用户
提问于 2011-11-22 00:23:42
回答 2查看 2.1K关注 0票数 2

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

代码语言:javascript
复制
<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">
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-22 00:37:20

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

这将允许您执行以下操作:

根据给定回调的结果,

使元素成为必需的。

然后,您可以在这3个字段上放置一个required验证规则,说明只有根据函数回调的返回才需要此字段;然后,您可以在这些字段上放置一个规则,如果其中任何一个字段不是空return true,则需要此字段,或者如果所有字段都为空return false,则不需要此字段

因此,如果填充了任何字段,它们都将成为必填字段,如果它们都保留为空,则不需要任何字段。

代码语言:javascript
复制
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);
        }
    }
}
票数 3
EN

Stack Overflow用户

发布于 2011-11-22 00:25:58

只是打个电话

代码语言:javascript
复制
$("form").validate();

并为输入字段提供一个必需的类。

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

代码语言:javascript
复制
$("form").validate({
    messages : {
        flickr_set : "Flickr set is required",
        flickr_id : "Flickr ID",
        flickr_photos-count : "Photos count is required"
    }
});
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8214988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档