jQuery验证插件未验证预填充选择

时间:2012-12-09 03:56:45

标签: jquery jquery-validate

我对jQuery Validation插件有一个非常奇怪的问题,它不会验证预先填充然后修改的select

您可以在此处查看代码:http://jsfiddle.net/VwRJ8/1/

代码永远不会触发以下行中的alert()

$('#edit_loc_save').click(function() {
    var foo = $('#add_new_loc_form').valid();
    alert(foo);
});

3 个答案:

答案 0 :(得分:5)

每次更改值时,您都可以检查选择是否有效:

<强>的Javascript

$('#myform').validate();
$('#myselectbox').on('change', function() {
    $(this).valid();
});

<强> Demo

修改1

以下是导致javascript错误的原因,这会阻止验证功能正常运行:

new_loc_zip: {
    required: true,
    postalcode: true // This is not a correct setting in jquery validate
},

如果您删除postalcode: true行,则验证会正常调用。

<强> Demo

答案 1 :(得分:1)

http://jsfiddle.net/YRAga/2/

$('#myform').validate({
    rules: {
        myselectbox: {
            required: true
        }
    }
});

$("#myselectbox").change(function() {
    $("#myform").submit();
});​

答案 2 :(得分:1)

如果您想在更改选项时进行验证,请尝试处理select选项的change事件并以编程方式触发验证

尝试这样的事情

$(document).ready(function() {
        $('#myselectbox').change(function() {
              $('#myform').validate({
                            rules: {
                              myselectbox: {required: true }
                            }
                          }).form();
                       });
                    });​

请参阅小提琴:here