Не удается прочитать вызов свойства undefined при использовании плагина проверки формы jquery

Я использую плагин проверки формы jquery для проверки моей формы, после того, как все проверки будут успешными, я вызываю функцию отправки. Но ошибка «Невозможно прочитать вызов свойства undefined» с использованием плагина проверки формы jquery возникает при применении регулярного выражения к полям, поле выше - это prefilled, поэтому я думаю, что это из-за этого. Ниже приведено изображение ошибки.

Here is error Image

Ниже мой код для этого: -

<form id="email-form">
   <input type="text" class="text-field-3 w-input" maxlength="256" autofocus="true" name="first-name" data-name="first-name"
     placeholder="First Name" id="first-name-2">
</form>

<script>
$(document).ready(function () {
  $('#email-form').submit(function (e) {
    e.preventDefault();
  }).validate({ // initialize the plugin
     rules: {
       "first-name": {
         required: true,
         regex: /^[a-zA-Z]+$/i
       }
     }
   })
</script>

Пожалуйста, помогите мне решить эту проблему. Спасибо!

перед кодом, готовым к этому документу, вам необходимо включить свои плагины проверки.

manikant gautam 10.09.2018 07:44

Я его включил. Но не работает.

user10298495 10.09.2018 07:46

Убедитесь, что вы включаете Javascript / Jquery lib в правильном порядке.

Anant Dabhi 10.09.2018 08:47
1
3
534
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы не включили функцию регулярного выражения, просто сделайте так, как показано ниже:

<script>
$(document).ready(function () {
  (function($,W,D){
    var JQUERY4U = {};
    JQUERY4U.UTIL = {
     setupFormValidation: function(){
        $.validator.addMethod("regex", function(value, element, regexpr) {          
        return regexpr.test(value);
     }); 

 $('#email-form').submit(function (e) {
  e.preventDefault();
 }).validate({ // initialize the plugin
   rules: {
   "first-name": {
      required: true,
      regex: /^[a-zA-Z]+$/i
    }
  }
 })
}
}
$(D).ready(function($) {
    JQUERY4U.UTIL.setupFormValidation();
});
})(jQuery, window, document);

Не обращайте внимания на отступы в коде.

Добавьте следующую функцию для поддержки регулярного выражения: 'выражение':

$.validator.addMethod(
    "regex",
    function (value, element, regexp) {
        var re = new RegExp(regexp);
        return this.optional(element) || re.test(value);
    },
   "Please check your input."
);

Другие вопросы по теме