在表单提交上执行AJAX调用时,使用数据注释验证模型

时间:2016-03-06 10:50:30

标签: jquery asp.net-mvc data-annotations model-validation

我在表单提交时遇到jquery ajax调用问题。 由于我不希望在提交表单时刷新页面,我会执行e.preventDefault()

不幸的是,这会导致不显示所有客户端模型数据注释验证。在客户端显示所有模型验证对我来说非常重要。

有谁知道这样做的方法?如果我阻止了某些默认行为,我该如何启用验证?任何帮助将不胜感激

$(function () {
    var form = $('#basicForm');
    form.on('submit', function (e) {
        e.preventDefault();

        $.ajax({
            cache: false,
            async: true,
            type: "POST",
            url: form.action,
            data: form.serialize(),
            success: function (result) {
                // for testing
                alert("success");
            }
        });
    });
});

1 个答案:

答案 0 :(得分:0)

尝试添加form.validate()

$(function () {
    var form = $('#basicForm');
    form.on('submit', function (e) {
        e.preventDefault();
        form.validate();

        $.ajax({
            cache: false,
            async: true,
            type: "POST",
            url: form.action,
            data: form.serialize(),
            success: function (result) {
                // for testing
                alert("success");
            }
        });
    });
});