проверка rsv собственной функцией Бенджамина Кина не работает должным образом?

#jquery #validation

#jquery #проверка

Вопрос:

Я пытаюсь использовать скрипт проверки RSV от benjamin’s keens (версия jquery), но с собственной функцией он не работает. моя пользовательская функция возвращает false, но oncompletehandler все еще вызывается??

 $("#testForm").RSV({
    onCompleteHandler: myOnComplete,
    displayType: "alert-one",
    rules: [
      "required,first_name,Please enter your first name.",
    "required,last_name,Please enter your last name.",
    "required,email,Please enter your email address.",
    "valid_email,email,Please enter a valid email address.",
      "function,testfunct",

    ]
  });




function testFunc() {
        tmpName = $('#tmpName').val();
        if (tmpName != '') {
            //alert ("name has been set");
            return true;
        }
        else {
            alert ("Credit card empt");
            $('#tmpName').focus();
            return false;
            }
     }`
  

Ответ №1:

Ваша настроенная функция неверна. Ожидается, что она вернет:

  • true, когда проверка пройдена.
  • массив (но не «false») при сбое проверки.

более подробную информацию см. в его официальном документе, затем щелкните пункт: «Пользовательские правила проверки»

Для того, чтобы ваша функция должным образом взаимодействовала со сценарием RSV, ваша функция должна иметь четко определенное возвращаемое значение. А именно:

Если поле проходит какой-либо тест или проверки, которые вы администрируете, оно должно явно возвращать значение true. Если она не проходит тесты, она должна вернуть массив массивов, например:

  return [[node1, "error message1"], [node2, "error message2"], [node3, "error message3"]];
  

Или если ваша функция выдает только одну ошибку:

  return [[node, "error message"]];
  

Обратите внимание на двойные [[и ]]. Это не опечатка!