我是Jquery
和asp MVC4
的初学者
我使用Jquery验证插件
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.js" type="text/javascript">
代码
<script>
jQuery(document).ready(function() {
jQuery("#monFormulaire").validate({
rules: {
"reclamation": {
"required": true,
"minlength": 4,
"maxlength": 60000
},
"cause": {
"required": true,
"minlength": 4,
"maxlength": 60000
},
"curative": {
"required": true,
"minlength": 4,
"maxlength": 60000
},
"Closing_date": {
"required": true,
"minlength": 1,
"maxlength": 60000
}
},
submitHandler: function (form) { /* envoyer Mail*/
mailJob();
}
});
});
<button type="submit" value="Page5" name="btnPage1" style="margin-left:1%" class="backRow" ></button>
<table border="1" class="mytab" style="margin: auto;">
formulaire .
</table>
</form>
验证以正确的方式运行,但不调用服务器端的Action 任何人都有任何想法???
答案 0 :(得分:1)
在您通过客户端验证
之前,不会调用服务器端的操作答案 1 :(得分:1)
首先禁用您的客户端验证,并确保在提交表单时,它会在您的控制器上调用带有HttpPost属性的操作。
[HttpPost]
public ActionResult YourAction()
一旦此功能正常,请重新启用客户端验证并添加
@Html.ValidationSummary(false)
如果您可以使用Chrome Dev Tools: Networking and the Console检查流量,也会有所帮助。
修改:在mailJob()函数末尾添加form.submit();
。您的初始表单提交已由submitHandler使用,不再适用于您的表单。
答案 2 :(得分:1)
你是什么&lt;形式...&gt;节点定义?
您是否定义了目标,方法(获取/发布)?
注意:有时,如果您在表单中发送奇怪的数据(如代码,SQL等),您可能还需要禁用请求验证。为此,请在您的ASPX文件中的页面定义上输入validateRequest =“false”:
&lt; @ Page [...] validateRequest =“false” [...]%&gt;
注意2:如果不是答案,请不要忘记删除validateRequest =“false” - 它可能会给您带来安全问题。