Yii - dynamicznie zmieniaj reguły z kontrolera

Powiedzmy, że mam produkt, który może mieć kolor. W zależności od typu produktu pole koloru może być wymagane lub nie.

Jeśli kolor jest zawsze wymagany, w modelu produktu miałbym następujące cechy

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

Chcę jednak, aby było to dynamiczne w zależności od typu produktu.

Czy należy to zrobić w kontrolerze? Wyobrażam sobie, że w kontrolerze znajduje się coś takiego:

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

Jak najlepiej podejść do tego?

Dzięki

questionAnswers(4)

yourAnswerToTheQuestion