Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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
Javascript 在jQuery中使用e.preventDefault()´;t让[必需的]MVC工作_Javascript_C#_Jquery_Asp.net Mvc - Fatal编程技术网

Javascript 在jQuery中使用e.preventDefault()´;t让[必需的]MVC工作

Javascript 在jQuery中使用e.preventDefault()´;t让[必需的]MVC工作,javascript,c#,jquery,asp.net-mvc,Javascript,C#,Jquery,Asp.net Mvc,我确实创建了一个带有ViewModel的MVC应用程序,它的所有属性都是[必需的],并且还创建了它的应有视图,我的问题是我需要从提交按钮捕获点击事件,以便进行一些验证,因此我决定使用jQuery以这种方式捕获点击事件: $("#IngresarInfo").click(function (e) { e.preventDefault(); $("#idISSSBuscar").rules("remove", "required");

我确实创建了一个带有ViewModel的MVC应用程序,它的所有属性都是[必需的],并且还创建了它的应有视图,我的问题是我需要从提交按钮捕获点击事件,以便进行一些验证,因此我决定使用jQuery以这种方式捕获点击事件:

 $("#IngresarInfo").click(function (e) {
            e.preventDefault();
            $("#idISSSBuscar").rules("remove", "required");
            $.ajax({ ... some code here
但是如果我使用
e.preventDefault()验证[required]确实有效(不显示任何错误消息),我想要的是首先验证所有表单输入是否完成,然后进行验证

您能告诉我我的代码有什么问题吗?

是的,当调用e.PreventDefault()时,默认进程将停止。i、 默认情况下,不会调用服务器端控制器操作

来自jQuery文档

如果调用此方法,则不会调用事件的默认操作 触发

如果您想在调用e.PreventDefault后继续执行控制器操作,您需要自己提交表单

另一个问题。为什么要这样做?如果让MVC对viewmodel进行默认验证,则可以在post操作中查找Model.IsValid并返回带有验证错误的原始视图


看起来你在试图模仿这种行为,但是我不知道你从中得到了什么。

我想要的是首先验证所有表单输入是否完成,然后进行验证。
=>你这是什么意思?
我想要的是首先验证所有表单输入是否完成,然后进行验证
,所以你想要进行验证在进行验证之前。。。?这没道理我很抱歉afraid@RoryMcCrossan我确实写过:我需要从提交按钮捕获点击事件,以便进行一些验证,明白吗?@Pablo Tobar,看来您希望利用HTML5提供的验证以及您自己的自定义验证。您可以做的是创建一个“页面嗅探器”函数,单击该函数将搜索由浏览器生成的任何错误元素。如果存在错误,不要触发自定义验证,但是如果没有错误发生,请进行验证。如果您想挖掘现有的验证体系结构,您可能应该考虑创建自己的自定义属性:谢谢,我想这样做,因为一个队友做到了,我用我的逻辑写了完全相同的代码,但不起作用