1

我是初学者,Jqueryasp MVC4 使用 Jquery validate 插件

 <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>

验证以正确的方式运行,但服务器端的操作没有被调用任何人有任何想法???

4

3 回答 3

1

在您通过客户端验证之前,不会调用服务器端的操作

于 2013-10-25T15:24:31.083 回答
1

首先禁用客户端验证,并确保在提交表单时,它会调用控制器上带有 HttpPost 属性的操作。

[HttpPost]
public ActionResult YourAction()

一旦这工作,重新启用您的客户端验证并添加

@Html.ValidationSummary(false)

如果您可以使用Chrome 开发工具:网络和控制台来检查您的流量,这也会有所帮助。

编辑form.submit();在您的 mailJob() 函数的末尾添加。您的初始表单提交已被 submitHandler 使用,不再适用于您的表单。

于 2013-10-25T15:40:04.993 回答
1

你的 <form ...> 节点定义是什么?

您是否定义了目标、方法(get/post)?

注意:有时,如果您在表单中发送奇怪的数据(如代码、SQL 等),您可能还需要禁用请求验证。为此,请将 validateRequest="false" 放在 ASPX 文件中的页面定义中:

<@ 页面 [...] validateRequest="false" [...] %>

注意 2:如果不是答案,请不要忘记删除 validateRequest="false" - 它可能会给您带来安全问题。

于 2013-10-25T15:52:02.020 回答