Yii - динамически менять правила из контроллера

Допустим, у меня есть продукт, который может иметь цвет. В зависимости от типа продукта, поле цвета может или не может быть обязательным.

Если цвет всегда требуется, у меня будет следующее в модели продукта

<code>public function rules()
{
    return array(
        array('colour', 'required')
    );
}
</code>

Тем не менее, я хочу, чтобы это было динамичным в зависимости от типа продукта.

Должно ли это быть сделано в контроллере? Я хотел бы представить что-то вроде следующего в контроллере:

<code>public function actionOrder() {
    // ....
    if ($product->HasColour) {
        // set the colour validation to be required
    } else {
        // set the colour validation to be not required
    }
}
</code>

Каков наилучший способ приблизиться к этому?

Спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос