jquery - 选中复选框时动态更改 jQuery 验证规则

标签 jquery jquery-validate

我正在使用 jQuery 验证来验证表单,我想做的是这样...我希望将其设置为,例如,如果选中复选框,则验证编辑框的方式会有所不同。

如果未选中该复选框,这就是验证的方式:

weight: { required: true, max: 50 }

如果检查的话,这就是验证它的方式。

weight: { required: true, max: 100 }

有什么想法吗?

最佳答案

您可以使用Validate plugin's built-in rules('add') method每当单击复选框时动态更改规则。

jQuery:

$(document).ready(function () {

    // initialize the plugin
    $('#myform').validate({ 
        // other options,
        rules: {
            // other rules,
            weight: {
                required: true,
                max: 50 // initial value on load
            }
        }
    });

    // change the rule on checkbox and update displayed message dynamically
    $('#check').on('change', function () {
        if ($(this).is(':checked')) {
            $('#weight').rules('add', {
                max: 100
            });
        } else {
            $('#weight').rules('add', {
                max: 50
            });
        };
        $('#weight.error').each(function () {
            $(this).valid();
        });
    });

});

HTML:

<form id="myform">
    <input type="checkbox" id="check" />
    <input type="text" id="weight" name="weight" />
    <input type="submit" />
</form>

工作演示:http://jsfiddle.net/3hGxS/

关于jquery - 选中复选框时动态更改 jQuery 验证规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14784705/

相关文章:

javascript - jQuery 验证插件检查下拉、科学和具有相似名称的元素

jquery - 如何使用 jquery.validation 插件不将错误元素显示为标签

javascript - 如何找到最近的<i>?

java - 上传 CSV 文件并在数据网格中显示预览

jquery - 显示来自jquery输入字段的值而不存储在数据库中

javascript - 如何在图像 CSS 上放置一个思想泡泡

jquery - 如何使用默认浏览器警报覆盖 jQuery 验证插件消息

asp.net-mvc-3 - 验证无法正常工作 mvc 3

javascript - 将数字格式化为货币值

javascript - 你如何让子div重叠在父容器的顶部