public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(array('eye_id, left_method_id, left_crt, left_sft, left_thickness_increase, left_dry,
left_fluidstatus_id, left_comments, right_method_id, right_crt, right_sft, right_thickness_increase,
right_dry, right_fluidstatus_id, right_comments', 'safe'), array('left_method_id, left_sft, left_dry', 'requiredIfSide', 'side' => 'left'), array('right_method_id, right_sft, right_dry', 'requiredIfSide', 'side' => 'right'), array('left_crt', 'numerical', 'allowEmpty' => true, 'integerOnly' => true, 'max' => 600, 'min' => 250, 'tooBig' => 'Left {attribute} must be between 250 and 600', 'tooSmall' => 'Left {attribute} must be between 250 and 600'), array('right_crt', 'numerical', 'allowEmpty' => true, 'integerOnly' => true, 'max' => 600, 'min' => 250, 'tooBig' => 'Right {attribute} must be between 250 and 600', 'tooSmall' => 'Right {attribute} must be between 250 and 600'), array('left_crt, left_thickness_increase, left_comments, right_crt, right_thickness_increase,
right_comments', 'default', 'setOnEmpty' => true, 'value' => null), array('left_sft', 'numerical', 'integerOnly' => true, 'max' => 1500, 'min' => 50, 'tooBig' => 'Left {attribute} must be between 50 and 1500', 'tooSmall' => 'Left {attribute} must be between 50 and 1500'), array('right_sft', 'numerical', 'integerOnly' => true, 'max' => 1500, 'min' => 50, 'tooBig' => 'Right {attribute} must be between 50 and 1500', 'tooSmall' => 'Right {attribute} must be between 50 and 1500'), array('left_fluidstatus_id', 'notAllowedIfTrue', 'side' => 'left', 'dependency' => 'left_dry'), array('right_fluidstatus_id', 'notAllowedIfTrue', 'side' => 'right', 'dependency' => 'right_dry'), array('left_fluidstatus_id, left_fluidtypes', 'requiredIfFalse', 'side' => 'left', 'dependency' => 'left_dry'), array('right_fluidstatus_id, right_fluidtypes', 'requiredIfFalse', 'side' => 'right', 'dependency' => 'right_dry'), array('id, event_id, left_method_id, left_crt, left_sft, left_thickness_increase, left_dry,
left_fluidstatus_id, left_comments, right_method_id, right_crt, right_sft, right_thickness_increase,
right_dry, right_fluidstatus_id, right_comments', 'safe', 'on' => 'search'));
}