Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Agreement checkbox ZendForm 
:(
    Опции темы
Reptor
Дата 29.3.2011, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Код

$validatorNotEmptyAgreement = new Zend_Validate_NotEmpty();
        $validatorNotEmptyAgreement->setMessage('You have to accept our terms and conditions before you register');
        $agreement = new Zend_Form_Element_Checkbox('agreement');
        $agreement->setLabel('I agree to terms and conditions')
            ->addValidator($validatorNotEmptyAgreement)->setRequired(true);
        $this->addElement($agreement);


В чем может быть проблема что если я не выделяю чекбокс и никакого предупреждения нету. Успешно проходит регистрацыя.. что тут не так???
Должо же быть предупреждение You have to accept our terms and conditions before you register
PM MAIL ICQ   Вверх
Nigel
Дата 30.3.2011, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



setRequired это и есть notEmpty, если хотите свое сообщение об ошибке, то нужно для элемента формы использовать метод addErrorMessage
PM MAIL   Вверх
Reptor
Дата 30.3.2011, 02:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



сделал

Код

 $agreement = new Zend_Form_Element_Checkbox('agreement');
        $agreement->setLabel('I agree to terms and conditions')
            ->setRequired(true)
            ->setDecorators($this->agreementDecorator)


всеровно никаои ошибки :( я не понимаю что не так 
PM MAIL ICQ   Вверх
Nigel
Дата 30.3.2011, 03:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



и где addErrorMessage?
Код

$agreement = new Zend_Form_Element_Checkbox('agreement');
        $agreement->setLabel('I agree to terms and conditions')
            ->setRequired(true);
$agreement->addErrorMessage('You have to accept our terms and conditions before you register');
$this->addElement($agreemnt);// $this - экземпляр формы

// далее в коде
if($form->isValid()) {
// остальные действия
}

PM MAIL   Вверх
Reptor
Дата 30.3.2011, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Код

 $agreement = new Zend_Form_Element_Checkbox('agreement');
        $agreement->setLabel('I agree to terms and conditions')
            ->setRequired(true)
            ->addErrorMessage('You have to accept our terms and conditions before you register')
            ->setDecorators($this->agreementDecorator)
            //->setAttribs(array('class' => 'agreement_checkbox'))    

            ;
        $this->addElement($agreement);


Попрежнему ничего.. все остальные елементы нормально выводят сообшения об ошыбке.. кроме етого.. не понимаю :( вот что не так
PM MAIL ICQ   Вверх
Nigel
Дата 31.3.2011, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



а если убрать
Код

setDecorators($this->agreementDecorator)

?
PM MAIL   Вверх
Reptor
  Дата 31.3.2011, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Цитата(Nigel @  31.3.2011,  00:16 Найти цитируемый пост)
а если убрать
Выделить всёкод PHP
1:
    
setDecorators($this->agreementDecorator)




тот же результат .. не понимаю.. ??
PM MAIL ICQ   Вверх
Nigel
Дата 31.3.2011, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



Для чекбокса оказывается нужно указать
Код

$agreement->setUncheckedValue('');

PM MAIL   Вверх
Reptor
Дата 31.3.2011, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Nigel
Да точно.. вместо пустои строки приходил 0.. я уже думал свои валидатор делат smile

Спасибо.. работает
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Libraries | Следующая тема »


 




[ Время генерации скрипта: 0.0686 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.