jQuery .Validate () Функция удаленного успеха и сообщение

0

Мне нужно проверить поле электронной почты, используя плагин jQuery.Validate(), у него есть метод "Удаленный", который мы должны отправить на сервер, а серверу нужно вернуть true или false, вместо использования традиционного способа (добавление функции на сервер для возврата true или false), мне нужно получить ответ json от сервера и при успешном запуске функции решить, куда возвращать true или false...

Вот как выглядит ответ с сервера (я использую валидацию формы yii ajax)

{
   "zipcode":[
      "Zipcode cannot be blank."
   ],
   "email":[
      "Email is already registered"
   ],

}

Если в массиве указан адрес электронной почты, который означает, что у проверки были ошибки. Поэтому я создаю правило проверки правильности, как показано ниже:

    'email': {
        required: true,
        email: true,
        remote:{
            type:"POST",
            url:url,
            dataType:'json',
            data:{'email':function(){
                $('#email').val();
            },ajax:'validate'},
            success:function(resp){

                $.each(resp,function(index,value){
                    if(index == "email")
                        return false;
                });

            }
        }
    },

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

  • 0
    Что именно не работает?
  • 0
    Изменить 'email': function () {$ ('# email'). Val (); } просто 'email': $ ('# email'). val ()
Показать ещё 3 комментария
Теги:
yii
jquery-validate

1 ответ

0

Вам нужно заменить функцию успеха на следующую функцию:

dataFilter: function (data) {
                return 'false'; //Email not exist
                return 'true'; //Email already exist
            }

Просьба передать значение true/false как строку.

Для отображения сообщения:

remote:{......},
messages:{email:'Please enter valid email', remote : "{0} is already exist"}

Я думаю, что это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню