假设我有一种可以有颜色的产品.根据产品类型,可能需要也可能不需要色域.
如果总是需要颜色,我会在产品型号中有以下内容
public function rules() { return array( array('colour','required') ); }
但是,我希望这是动态的,具体取决于产品类型.
这应该在控制器中完成吗?我想在控制器中有类似的东西:
public function actionOrder() { // .... if ($product->HasColour) { // set the colour validation to be required } else { // set the colour validation to be not required } }
谢谢
您可以使用方案.在模型中:
原文链接:https://www.f2er.com/php/136008.htmlclass Model extends CActiveRecord { // .... public function rules() { return array( array('colour','required','on' => 'hasColour') ); } // .... }
在控制器中:
public function actionOrder() { // .... $model = new Product(); if ($product->HasColour) { $model->setScenario('hasColour'); } }
因此,当模型的场景为hasColour时,将验证所需的颜色