Получение ошибки при попытке сделать настроенное сообщение в jQuery validate - PullRequest
0 голосов
/ 19 сентября 2018

Я много раз пытался с JQuery для проверки ошибок, используя настроенные сообщения, но я все еще путаюсь, где я делаю ошибку. Я пробовал с обычными проверяющими сообщениями, но когда я пробовал с настроенными, это показываетмне ошибка.

Ниже приведен пример кода, который я до сих пор пытался выполнить безуспешно.

<form id="myform">
  <tr>
    <td class="alpha">username</td>
    <td>
      <input type="username" type="text" value="">
    </td>
  </tr>
  <br/>
  <tr>
    <td class="alpha">postcode</td>
    <td>
      <input type="postcode" type="text" value="">
    </td>
  </tr>
  <input type="submit" />
</form>
$.validator.setDefaults({
  submitHandler: function() {
    alert("submitted!");
  }
});

$document.ready(function() {
  $("#myform").validate({
    rules: {
      password: "required",
      postcode: {
        required: true,
        minlength: 3
      }
    },
    messages: {
      username: {
        required: "*Please enter a username",
        minlength: "Your username must consist of at least 2 characters"
      },
      postcode: {
        required: "Field PostCode is required",
        minlength: "Field PostCode must contain at least 3 characters"
      }
    }
  });
});

1 Ответ

0 голосов
/ 19 сентября 2018

Как написано, ваш код не будет работать с сообщениями по умолчанию.

Пожалуйста, прочитайте мои комментарии в коде ...

rules: {
    password: "required",  // <- input with name="password" (where is "password"?)
    postcode: {            // <- input with name="postcode"
        required: true,
        minlength: 3
    }
},
messages: {
    username: {     // <- input with name="username"
        required: "*Please enter a username",
        minlength: "Your username must consist of at least 2 characters"
    },
    postcode: {     // <- input with name="postcode"
        required: "Field PostCode is required",
        minlength: "Field PostCode must contain at least 3 characters"
    }
}
  1. The *Параметры объектов 1008 * и messages задаются атрибутом name элемента ввода.Ваши входные элементы не содержат атрибутов name.Плагин требует, чтобы все входные данные формы содержали уникальный name, и плагин не будет работать без них.

  2. У вас недопустимые значения для атрибута type.Нет таких вещей как type="username" и type="postcode";и у вас ошибочно имеется более одного type атрибутов на каждом входе, <input type="username" type="text" value="">

  3. В вашем случае вы даже не пытаетесь определить какие-либо правила для поля username,У вас есть только password и postcode в объекте rules.

Исправьте неверную разметку HTML и JavaScript ...

  • Удалить всепосторонние атрибуты type от каждого входа.
  • Добавление уникального атрибута name к каждому входу.
  • Ссылка только на ваши атрибуты name внутри rules и messages объектов.

DEMO: jsfiddle.net / 2tx6u7wf /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...