Снова здрасьте.
Задача простая - проверить чекбокс.
Если отмечен - то идем на регистрацию, если нет - то выводим ошибочку.
Проверяю в модели.
во View:
<?php echo CHtml::activeCheckBox($model,'checkTerms'); ?>
в Model:
1-й способ
public $checkTerms;
......
array('checkTerms', 'CRangeValidator', 'range'=>array(1), 'message'=>'You must agree.'),
не работает.
Отмечен чекбокс или не отмечен все фиолетово никаких проблем - пропускает проверку и регистрирует.
2-й способ
public function terms($attribute, $params)
{
if ($this->checkTerms != 1) $this->addError('checkTerms', 'You must agree with the Terms and Conditions.');
}
в рулс
...
array('checkTerms','terms'),
...
Тоже не работает выдает все время сообщение - ‘You must agree with the Terms and Conditions.’
Забавно.
Анализ сгенеренного HTML кода показал - что значение всегда 1 независимо от того отмечен чекбокс или нет.
Вопрос к знатокам - это что глюк?
Если нет то подскажите позалуйста что и где у меня не правильно.
var_dump($model);
Говорит что checkTerms => NULL
Независимо от того отмечен чекбокс или нет, что очень странно.
Подозреваю что поэтому и не выполдняется валидация.
Версия фреймфорка 1.0
Есть идеи кроме - "Обновите фреймфорк и т.д."
Всем спасибо.