如何使用JQuery验证在MVC中的表中动态创建的字段

时间:2012-05-17 10:35:20

标签: jquery validation

我在MVC应用程序中有一个HTMLtable,我在其中动态创建/删除行。单击页面中的“保存”按钮,我只想使用模型中提到的JQuery进行所有验证。任何人都可以帮我验证动态创建的字段吗?

var firstName;
    $('#tableId tr:visible').has("td").each(function (row) {
        $(this).find('input,select,checkbox')
            .each(function (col) {
                $ctl = $(this);
                if ($ctl.is('input:text')) {
                    firstName = $ctl.val();
                    $ctl.rules('add', { required: true, messages: { required: 'First Name field is required'} });
                }
            });
    });
    var val = $("#formDealFeeRates").validate();
    val.showErrors();
    alert(val.valid());

...谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用.form() $.validate()方法在某些点进行验证检查,而无需事先进行验证。

这可能不太清楚,但基本上,而不是这样做:

var val = $("#formDealFeeRates").validate();
val.showErrors();
alert(val.valid());

您可以这样做:

$('#tabeId').on('submit', function(e){
    e.preventDefault();
    if ($(this).validate().form())
    {
        //this is valid, run save code here
    }
    else
    {
        //this is not valid. but you don't need to
        //do anything, validate will show the usual error messages.
    }
});

这样做会考虑在初始$('form').validate()调用之后添加的任何字段,因为每次提交表单时都会重新执行检查。

希望这有助于/有意义

文档:http://docs.jquery.com/Plugins/Validation/Validator/form