在asp.net mvc4应用程序中使用Jquery验证表单

时间:2013-10-25 15:21:27

标签: jquery asp.net .net asp.net-mvc-4 jquery-validate

我是Jqueryasp 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 任何人都有任何想法???

3 个答案:

答案 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” - 它可能会给您带来安全问题。