【问题标题】::blank selector not working on checkbox jQuery Validate():blank 选择器不适用于复选框 jQuery Validate()
【发布时间】:2015-11-08 11:08:02
【问题描述】:

您好,我目前有 2 个字段,其中 1 个或另一个需要检查,这些字段最初使用 2 个文本类型输入,现在其中 1 个需要从文本输入更改为复选框。

逻辑:如果文本框有值,则不需要复选框, 如果勾选了复选框,则不需要文本框。

我最初使用:blank 选择器来确定验证并且它正在工作,将它更改为一个复选框并且它损坏了,我在 validate() 文档中是否缺少复选框的不同规则?

我正在使用以下版本:

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/additional-methods.js"></script>

jQuery:

        //text 1
        'textbox': {
            required: "#certificate:blank",
            minlength: 8
        },

        //checkbox 1
        certificate: {
            required: "#textbox:blank"
        },

HTML:

<input type="text" maxlength="9" class=" form-textbox" id="textbox" name="textbox">
<input type="checkbox" class=" form-checkbox" id="certificate" name="certificate">

【问题讨论】:

    标签: javascript jquery html validation checkbox


    【解决方案1】:

    你需要更新你的代码

    certificate: {
        required: "#textbox:blank"
    },
    

    // for checked
    certificate: {
        required: "#textbox:checked"
    },
    
    // for unchecked
    certificate: {
        required: function(element) {
            return !$("#textbox").is(":checked")
        }
    },
    

    供参考 - http://jqueryvalidation.org/category/methods/#example:-makes-details-required-only-if-#other-is-checked

    【讨论】:

    • 抱歉,我不确定我的逻辑是否有误,但如果没有检查,我希望它是必需的。
    • legend,所以你可以返回一个真假的对象,这很高兴知道。谢谢
    猜你喜欢
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多