jquery validate, добавление нового правила для проверки хоста электронной почты - PullRequest
0 голосов
/ 07 декабря 2011

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

Вот что я сделал до сих пор:

       jQuery.validator.addMethod("isHotmail", function(value, element) {
           var email = $("#email").val();
           var emailHost = email.split('@')[1].split('.')[0];
           if(emailHost=='hotmail'){return true}
}, "* you are using Hotmail, please check your spam folder");

И

 rules: {
         email: {
           required:true, email: true, isHotmail : true
         }
.
.

Это не работает, ничего не происходит, если я ввожу адрес электронной почты Hotmail, и я подозреваю, что это из-за оператора return.

Может кто-нибудь помочь мне с этим правилом?

Большое спасибо

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Может быть, вам нужно return false;, если это не hotmail?

попытаться изменить строку: if(emailHost=='hotmail'){return true}

На:

return (emailHost.toLowerCase()=="hotmail");

var email не совпадает с value?


   jQuery.validator.addMethod("isHotmail", function(value, element) {
       var email = value;
       var emailHost = email.split('@')[1].split('.')[0];
       return (emailHost.toLowerCase()=='hotmail');
   }, "* you are using Hotmail, please check your spam folder");
0 голосов
/ 07 декабря 2011

Вам нужно возвращать false, когда вход содержит «hotmail». Так что вместо

if(emailHost=='hotmail'){return true}

использование

if(emailHost=='hotmail')
{
return false;
}
return true; //for when the input does not contain hotmail

Смотрите это в действии на jsfiddle здесь

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