jquery验证没有显示错误消息

时间:2018-05-09 18:15:55

标签: jquery asp.net jquery-validate unobtrusive-validation

我正在尝试使用jquery验证,但由于某种原因没有出现错误消息,即使我尝试按照各种示例:

<form action="/" id="paaForm" method="post">
    <input type="text" name="testMe" id="testMe" />

<button id="btnSubmit" type="button" value="Save" class="btn btn-default" />

jquery的:

$(function () {
   $("#paaForm").validate({
    rules: {
        testMe: {
            required: true
        },
  ...
    $('#btnSubmit').on('click', submit);
  ...

function submit() {
    if (!$("#paaForm").valid()) {
        return;
    }
    ...

编辑:

我必须添加更多信息。我的应用程序是一个MVC应用程序,所以它使用这样的捆绑:

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
            "~/Scripts/jquery.validate*"));

这样,基于模型属性的MVC验证工作得很好。但我需要更复杂的验证,这就是为什么我添加了简单的jquery验证。如上所述,它不起作用。但如果我用这个替换捆绑,

           bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                    "~/Scripts/jquery.validate.js"));

jquery验证有效,但MVC验证不起作用,因为我排除了 “〜/脚本/ jquery.validate.unobtrusive.js”。 是否有可能使两者都有效?

3 个答案:

答案 0 :(得分:0)

  

只需更改一个功能,然后您的问题就会解决: - )

function submit() {
     if (!$("#paaForm").valid()){
         return false; 
      } 
      ...
      return true;
 }

答案 1 :(得分:0)

您应该更改以下代码。您需要通过以下jquery插件授予对显示错误消息的访问权限。默认验证集debug: false。将其设为true

$("#paaForm").validate(
   debug: true
});

这对你有用。有关jquery验证click here的更多信息。祝你好运!

答案 2 :(得分:0)

仅供参考 - 如果您正在使用Unobtrusive Validation插件,则会自动构建.validate()方法。您不能简单地提供自己的.validate()实例,因为它将被忽略。该插件仅用于在任何特定表单上处理.validate()一次,并且始终忽略所有后续实例。