Asp.net mvc 如何使用javascript提交ASP.NET MVC表单并在客户端进行验证?
我有一个ASP.NETMVC2表单,它工作得非常好,可以进行客户端验证(使用数据注释)。每当用户单击submit按钮时,客户端验证就会在表单实际发布回服务器之前启动 这是实际的代码,非常基本的东西:Asp.net mvc 如何使用javascript提交ASP.NET MVC表单并在客户端进行验证?,asp.net-mvc,asp.net-mvc-2,validation,jquery-validate,form-submit,Asp.net Mvc,Asp.net Mvc 2,Validation,Jquery Validate,Form Submit,我有一个ASP.NETMVC2表单,它工作得非常好,可以进行客户端验证(使用数据注释)。每当用户单击submit按钮时,客户端验证就会在表单实际发布回服务器之前启动 这是实际的代码,非常基本的东西: <% Html.EnableClientValidation(); %> <% using (Html.BeginForm()) { %> <%= Html.ValidationSummary(true) %> <%: Html.Editor
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) { %>
<%= Html.ValidationSummary(true) %>
<%: Html.EditorForModel() %>
<p>
<input type="submit" value="Save" />
</p>
<% } %>
现在我的问题是:我想使用一个按钮提交表单,该按钮不在中,就像上面示例中的按钮一样。此按钮需要放置在页面上一个单独的中,该页面的工作方式类似于我的应用程序中所有按钮和操作的工具栏
我可以使用如下方式提交表单(使用jQuery):
另外,
您也可以通过
唯一的问题是,这不会触发客户端验证,就好像用户正在单击正常的提交按钮一样。整个表单被发回,服务器端验证被执行,视图再次呈现,显示验证错误
我不想把这个常规的提交按钮和表单放在一起,只需要在工具栏上放一个按钮,那么有没有办法做到这一点呢?使用一个单独的按钮调用表单的提交,同时仍然触发表单的客户端验证?尝试以下方法:
<input type="submit" value="Save" onclick="$('#dummy').click();" />
其中dummy
是表单中隐藏的submit
按钮
另外,
保存
按钮不需要是提交
按钮,如果它没有放在表单中
,您可以尝试jQuery的Ajax表单插件
您也可以通过
$('#form')附加到表单的提交事件。提交(function(){})
验证方法附加到表单的提交事件,这意味着您应该能够从javascript调用form.submit(),提交事件仍然会触发。尝试$(“#yourform”)。验证(“提交”)代码>如果您使用MicrosoftMvcValidation.js
或者$(“#yourform”).validate()
如果您使用jquery.validate.jsMan。。。你跑得真快!!!…:)您的解决方案确实有效,尽管它看起来有点像您所说的。如果没有其他人想出更好的办法,我就这样离开,接受你的回答:)谢谢你!显然,MVC客户端验证例程并不完全正确。我刚刚测试了您的解决方案,虽然它确实适用于提交表单,但在发送表单之前,验证不会在客户端进行。整个表单在没有验证的情况下发布,然后在服务器上验证模型,控制器再次返回带有错误消息的视图。
<input type="submit" value="Save" onclick="$('#dummy').click();" />