尝试添加新的 jquery 验证器方法

发布于 2024-12-04 11:12:20 字数 759 浏览 2 评论 0原文

我正在尝试添加一个验证器规则,其工作方式如下:

当我们在一个元素上应用这个规则时,它应该只被验证 关于我们通过 params 传递的元素的非空值。 意味着,当且仅当通过的其中之一时,它必须验证自身 元素具有非空值。

我正在尝试的规则:

jQuery.validator.addMethod("reqAfter",function(a,b,c){
    for(var i in c){
        var $d=$(c[i]);
        return !($d.length&&$d.val()!==""&&a=="");
    }
},"Please provide some value!");

例如:

rules: {
    sField: { reqAfter: ['#startD', '#endD'] },
    startD: { regex: /^(\d{4,4})-(\d{2,2})-(\d{2,2})$/, reqAfter: ['#sField'] },
    endD: { regex: /^(\d{4,4})-(\d{2,2})-(\d{2,2})$/, reqAfter: ['#sField', '#startD'] }
}

对于这种形式:

在此处输入图像描述

I am trying to add a validator rule which will work like:

When we apply this rule on an element then it should only be validated
on the non-empty values of the elements which we passed through params.
Means, it must validate itself if and only if one of the passed
elements have non-empty value.

the rule what I am trying:

jQuery.validator.addMethod("reqAfter",function(a,b,c){
    for(var i in c){
        var $d=$(c[i]);
        return !($d.length&&$d.val()!==""&&a=="");
    }
},"Please provide some value!");

like:

rules: {
    sField: { reqAfter: ['#startD', '#endD'] },
    startD: { regex: /^(\d{4,4})-(\d{2,2})-(\d{2,2})$/, reqAfter: ['#sField'] },
    endD: { regex: /^(\d{4,4})-(\d{2,2})-(\d{2,2})$/, reqAfter: ['#sField', '#startD'] }
}

for this form:

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

╰◇生如夏花灿烂 2024-12-11 11:12:20

我自己整理一下。

工作验证器方法是:

jQuery.validator.addMethod("reqAfter", function (e, b, a) {
    if (!a || a.length < 1) return !0;
    else {
        var b = !1,
            c;
        for (c in a) {
            var d = $(a[c]);
            if (d.length && d.val() !== "") {
                b = e === "" ? !0 : !1;
                break
            }
        }
        return !b
    }
}, "Please provide some value!");

谢谢我......

I sort it by myself.

Working validator method is:

jQuery.validator.addMethod("reqAfter", function (e, b, a) {
    if (!a || a.length < 1) return !0;
    else {
        var b = !1,
            c;
        for (c in a) {
            var d = $(a[c]);
            if (d.length && d.val() !== "") {
                b = e === "" ? !0 : !1;
                break
            }
        }
        return !b
    }
}, "Please provide some value!");

Thanks to me...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文