繁体   English   中英

使用jquery.validate.js插件进行条件表单验证

[英]conditional form validation using jquery.validate.js plugin

谁能告诉我如何编写一条规则来验证用户是否选择/填充了一个单选按钮选项和(最佳)文本字段? 如果未选择任何复选框选项#myradiogroup且文本字段#email2为空,则该规则仅给出一条消息。

我的表格代码:

<form name="my" id="myForm" action="" method="post">

<input type="radio" name="myradiogroup" id="myradiogroup" value="option 1" /> option 1
<input type="radio" name="myradiogroup" id="myradiogroup" value="option 2" /> option 2

<label for="emailNew4use">this is an optional field:</label>
<input type="text" name="email2" id="email2" />

<input type="submit" value="send">

</form>

jQuery Validate中的required参数可以使用一个函数。

$('#myForm').validate({
    rules: {
        email2: {
            required: function(element) {
                if ($('[name="myradiogroup"]:checked').length) {
                    return false;
                } else {
                    return true;
                }
            }
        },
        myradiogroup: {
            required: function(element) {
                if ($('#email2').val()) {
                    return false;
                } else {
                    return true;
                }
            }
        }
    }
});

这是Sparky的精简版

$('#myForm').validate({
    rules: {
        email2: {
            required: function(element) {
                return !$('[name="myradiogroup"]:checked').length;
            }
        },
        myradiogroup: {
            required: function(element) {
                return !$('#email2').val();
            }
        }
    }
});

也许可以这样:

$('#myForm').submit(function() {
    if($('input:radio').val() == '' || $('#email2').val() == '') {
        preventDefault();
        // show error
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM