Pull to refresh

Comments 8

Совсем не Yii-style. А почему бы не сделать поле просто с именем param[]? Пришел бы массив значений, который легко завернуть в модель.
В принципе наверное можно было бы param[]. Я хотел описать именно валидацию динамических полей. А вообще тут много можно сделать на свой вкус. Это лишь пример.
Для этого в модели нужно создать валидатор, который в качестве названия полей может принять регулярки и нормально описать в модель. Не спорю, можно и велосипедом, но по-нормальному смотрится лучше и запутаться не получится.
С ajax валидацией, как я понимаю, вы заморачиваться не стали?
Это простая модель. Выше я уже приводил часть кода. Если хотите вот полностью. Я только вырезал кучу других переменных, не относящихся к теме.

class CreateOrderForm extends CFormModel
{
public $place_weight; 
public function rules()
    {
        return array(array('place_weight', 'validatePlace', 'on'=>'step1'), );
    }
public function validatePlace($attribute,$params)      
    {
        foreach($this->place_weight as $key_w => $weight){
            if (empty($weight)) {
                $this->addError('place_weight['.$key_w.']', 'Поле должно быть заполнено');
                break;
            }
        }
}
}

Sign up to leave a comment.

Articles