Здраствуите
как пользоваться с CBooleanValidator, приведите пример.
Здраствуите
как пользоваться с CBooleanValidator, приведите пример.
Сам разобрался,привожу пример.
чтобы на start отметили галочку
public function rules() {
return array(
array('start','boolean','falseValue'=>1,'message'=>'Отметьте старт.'),
);
}
Вот пример:
public function rules()
{
return array(
array('bool_value1', 'boolean'),
array('bool_value2', 'boolean', 'allowEmpty'=>true, 'falseValue'=>'нет', 'trueValue'=>'да', 'strict'=>true),
// Тут использованы дополнительные необязательные параметры.
// Подробнее о них прочитать можно тут: http://www.yiiframework.com/doc/api/1.0.10/CBooleanValidator
);
}
О, я чуть припозднился.
Но мне кажется, что ваш пример чуть неправилен. Если вы указываете ‘falseValue’=>1, то скорее всего нужно указатьа ‘trueValue’=>0. И ожидать, что когда галочка будет отмечена, то переменная получит значение false.
что то я запутался.
у меня работет так: (с Вашего примера)
SelectForm
class SelectForm extends CFormModel {
public $start;
public function rules() {
return array(
array('start','boolean','allowEmpty'=>true, 'falseValue'=>'нет', 'trueValue'=>'1','strict'=>true,
'message'=>'Отметьте start.'),
);
}
в view
<?php echo CHtml::activeCheckBox($form,'start'); ?>
как ставлю в место ‘falseValue’=>‘0’ не хочет.
Просто параметр strict=true проверяет не только соответствие данных, но и типа.
При strict=true происходит сравнение типа a===b, а при strict=false - a==b.
Вам нужно убрать strict=true или изменить на strict=false.
Спасибо.!!!