JQuery Validate Plugin Отладка Новый дополнительный метод - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь выяснить, почему наша форма все еще может быть отправлена, даже если пользователь использует адрес электронной почты gmail.com в соответствии с нашим дополнительным методом, называемым checkDomain.

Я хотел бы видеть реальныйвремя, в какой момент мы истинны, и в какой момент мы ложны, поскольку это должно прояснить это, но я рисую пробел о том, как console.log наша ценность.Как мы можем это сделать?

$.validator.addMethod('checkDomain', function (value) { 
    return /^([\w-.]+@(?!gmail\.com)(?!yahoo\.com)(?!hotmail\.com)([\w-]+.)+[\w-]{2,4})?$/.test(value);
}, 'Please provide a business email.');

/*-----------------------------------------------------*/
/*-----------------------------------------------------*/


$(formId).validate({
    rules: {
        FirstName: "required",
        LastName: "required",
        Company: "required",
        Primary_Interest__c: "required",
        Company_Size__c: "required",
        Phone: "required",
        Email: {
            required: true,
            email: true,
            checkDomain: true
        },
        MktoCompanyNotes: "required"
        console.log(checkDomain);
   },

1 Ответ

0 голосов
/ 18 декабря 2018

Объект rules должен содержать только пары key:value, представляющие имена полей и соответствующие правила с параметрами.Вы не можете просто вставить туда строку JavaScript и не ожидать, что что-то сломается.

Я рисую пробел о том, как console.log наше значение.Как мы можем это сделать?

Вы пытались сделать это внутри самой функции, которая уже содержит значение поля?

$.validator.addMethod('checkDomain', function (value) { 
    console.log(value); // <- HERE
    return /^([\w-.]+@(?!gmail\.com)(?!yahoo\.com)(?!hotmail\.com)([\w-]+.)+[\w-]{2,4})?$/.test(value);
}, 'Please provide a business email.');

И ваше пользовательское правило, кажется, работает отличноштраф:

ДЕМО: jsfiddle.net / 7hvxe9gd /

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