【发布时间】:2014-04-25 08:45:11
【问题描述】:
我在我的应用程序中使用了多个场景,但遇到的问题是每次最后一个场景都会覆盖第一个场景。
型号:
public function rules()
{
return array(
[...]
array('cost_spares', 'cost_spare_func', 'match',
'pattern' => '/^[a-zA-Z]+$/',
'message' => 'Do not enter zero or/and characters for Spare parts!',
'on' => 'cost_spare_func'),
array('cost_labour', 'cost_labour_func', 'match',
'pattern' => '/^[a-zA-Z]+$/',
'message' => 'Do not enter zero or/and characters for Labour Charges!',
'on' => 'cost_labour_func'),
);
}
控制器:
public function actionUpdate ($id)
{
if (isset($_POST['TblEnquiry']))
{
[...]
$model->setScenario('cost_spare_func');
$model->setScenario('cost_labour_func');
}
}
【问题讨论】:
-
这是设计使然 - 一条记录一次只能分配一个场景。
-
当然是覆盖ist,因为你先设置
cost_spare_func为场景,然后cost_labour_func为实际场景。 -
@DCoder,我想在提交表单时同时显示两个验证。
-
@Jurik,你能告诉我场景和实际场景吗?如何实现这两个才能正确验证?