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.

Спасибо.!!!