Проверка формы Zend2 с помощью плагина проверки формы jQuery

0

Я новичок в Zend 2. Я создал регистрационную форму и использую плагин проверки формы jQuery для ее проверки. Теперь я хочу проверить, существует ли почта или нет (с плагином zend 2 и jQuery). Может ли кто-нибудь помочь мне реализовать это.

Теги:
jquery-validate
zend-framework2

2 ответа

0
Лучший ответ

$ ('. register-form'). validate ({rules: {

                email: {
                    required: true,
                    email: true,
                    remote: {
                        url: baseUrl+'/login/emailcheck',
                        type: 'POST',
                        data: {
                          mail: function(){ return $("#email").val(); }
                        },
                    }
                },

            },

            messages: { // custom messages 

                email: {
                    required: "Email is required.",
                    remote: 'Email already Exists.'
                },

            },

        });

и в Logincontroller,

public function emailcheckAction() {

        $email =  $_POST['mail'];
        $result =  $this->getRegistrationInfoTable()->getEmail($email);
        if($result){
            $value = false; //'Email already exists';
        }else{
            $value = true;
        }
        $result = new JsonModel(array(
            'response' => $value
        ));

        return $result;
 }

и я отредактировал jquery.validate.js, чтобы ответить на массив json. Теперь он работает отлично :)

0

Я не знаю о jQUery.FormValidation, но я знаю, как я буду говорить об этой функции. И это в основном то же, что и в ZF1.

Я бы написал собственное действие, например partialValidationAction() которому задан element параметра. Теперь к этому действию вы POST свою форму. Внутри действия тогда, так как данный параметр element, вы бы установить validationGroup вашей формы только этого одного элемента, а затем вы бы проверить форму.

Затем действие просто вернет true если элемент проверен, и JSON-Object, содержащий сообщения об ошибках, если он вернет значение false. Поэтому всякий раз, когда вы получаете JSON-Object с сообщениями об ошибках, добавьте их в свой элемент формы, и все готово.

Я бы сделал это так по нескольким причинам, а один из них - ремонтопригодность. IIRC, что formValidation из jQuery требует, чтобы правила устанавливались в JS-коде, верно? Это означало бы, что вам нужно будет поддерживать свои Правила валидации в двух разных местах, что обычно плохо, и в значительной степени всегда приводит к несоответствию правил.

Ещё вопросы

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