Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery asp.net mvc3中的客户端验证_Jquery_Asp.net Mvc 3_Validation - Fatal编程技术网

Jquery asp.net mvc3中的客户端验证

Jquery asp.net mvc3中的客户端验证,jquery,asp.net-mvc-3,validation,Jquery,Asp.net Mvc 3,Validation,我将asp.NETMVC3与jQueryAjax方法一起用于我的项目。我已经能够验证输入,但是如果我单击post按钮,即使表单包含无效数据,数据也会被发布。我知道这可以用提交按钮解决。但是我想使用我的jquery方法。我一直在使用asp.net mvc3客户端验证。这是我从表单发布数据的代码 //jQuery function PostForm(Url, FormID, Title) { var dataTOPost = '#' + FormID; // Id of parti

我将asp.NETMVC3与jQueryAjax方法一起用于我的项目。我已经能够验证输入,但是如果我单击post按钮,即使表单包含无效数据,数据也会被发布。我知道这可以用提交按钮解决。但是我想使用我的jquery方法。我一直在使用asp.net mvc3客户端验证。这是我从表单发布数据的代码

//jQuery
function PostForm(Url, FormID, Title) {    

    var dataTOPost = '#' + FormID; // Id of particular form to post

    $.ajax({
        url: Url,
        type: 'POST',
        data: $(dataTOPost).serialize(),
        beforeSend: function () {
            //display some loading pics
        }
    }).done(function (result) {

        //if success do something
    });

}
我使用它如下

<a onclick="PostForm('someurl','myform', 'Title of dialog');" >Submit</a>
提交
下面是正在验证的表单部分的屏幕截图。即使表单包含无效数据,表单也会被过帐。我该如何解决这个问题。谢谢

$("a").click(function(event) {
    //cancel submit click
    event.preventDefault();
    //check errors
    ...
    //Post your form
    PostForm('someurl','myform', 'Title of dialog');
});

您必须使用以下方法解析表单以进行验证:

$.validator.unobtrusive.parse($(form));
然后询问是否有效:

$(form).valid();
例:


您必须使用以下方法分析要验证的表单:

$.validator.unobtrusive.parse($(form));
然后询问是否有效:

$(form).valid();
例:


可能您必须手动检查错误消息长度是否大于零并返回false。如果您在模型中定义了验证,并且您正在引用jquery、jquery.validate、jquery.validate.unobtrusive,请尝试在您的postform函数中为表单添加提交处理程序。可能会有所帮助@ssilas777,这将非常耗时。我想知道mvc3中是否有一些内置功能,用于检查发布的数据是否有效。只有当数据有效时才发布,否则会显示错误消息或类似信息。@重做您可以使用数据批注指定模型属性的验证。如果您将在应用程序中引用jquery.validate.unobtrusive脚本文件,并且如果在应用程序的web.config文件中将clientsidevalidation、unobtrusivevalidation设置为true,则您的验证将在客户端工作。@Yoda客户端验证正在工作,如上述表单屏幕截图所示。当用户添加无效数据时,“表单发布”按钮不应工作。但是这种情况并没有发生,相反,表单会使用无效数据发布。如何使用javascript/jquery检查这一点?可能是您必须手动检查错误消息长度是否大于零并返回false。如果您在模型中定义了验证,并且您正在引用jquery、jquery.validate、jquery.validate.unobtrusive,请尝试在您的postform函数中为表单添加提交处理程序。可能会有所帮助@ssilas777,这将非常耗时。我想知道mvc3中是否有一些内置功能,用于检查发布的数据是否有效。只有当数据有效时才发布,否则会显示错误消息或类似信息。@重做您可以使用数据批注指定模型属性的验证。如果您将在应用程序中引用jquery.validate.unobtrusive脚本文件,并且如果在应用程序的web.config文件中将clientsidevalidation、unobtrusivevalidation设置为true,则您的验证将在客户端工作。@Yoda客户端验证正在工作,如上述表单屏幕截图所示。当用户添加无效数据时,“表单发布”按钮不应工作。但是这种情况并没有发生,相反,表单会使用无效数据发布。我如何用javascript/jquery检查这一点?它可以工作。谢谢克里斯蒂·普夫,很管用。谢谢克里斯蒂普夫。