Проверка JQuery не отображает сообщение об ошибке - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь использовать проверку 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 не работает, потому что я исключаю "~ / Scripts / jquery.validate.unobtrusive.js". Можно ли заставить оба работать?

Ответы [ 3 ]

0 голосов
/ 09 мая 2018

Вы должны изменить свой код, как показано ниже. Вам необходимо предоставить доступ к показу сообщений об ошибках с помощью нижнего плагина jquery. Набор для проверки по умолчанию debug: false. Установите его как true.

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

Это должно работать для вас. Для получения дополнительной информации о проверке jquery нажмите здесь . Удачи!

0 голосов
/ 11 мая 2018

FYI - если вы используете плагин «Ненавязчивая проверка», он автоматически создает метод .validate(). Вы не можете просто предоставить свой собственный экземпляр .validate(), так как он будет проигнорирован. Плагин предназначен только для обработки .validate() ОДНОГО времени в любой конкретной форме, и все последующие экземпляры всегда игнорируются.

0 голосов
/ 09 мая 2018

Просто измените одну функцию, и ваша проблема разрешится: -)

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