0
我正在爲給定場景上的驗證數據創建函數,但它不起作用。 型號代碼:Yii2對場景不起作用的自定義驗證
public function rules()
{
return [
// ['session_key','deal_id','required'],
['data', 'validateCart'],
[['session_key','deal_id'], 'safe'],
// [['cartfood','session_key'], 'required','on'=>'sessionapi'],
['cartfood', 'myvalidation', 'on' => 'sessionapi'],
];
}
public function myvalidation($attribute, $params){
if (!$this->hasErrors()) {
echo '<pre>'; print_r($params); die;
}
}
控制器:代碼
public function actionPayinapp(){
$data=Yii::$app->getRequest()->getBodyParams();
$cart=json_decode($data['cartfood']);
$model=new Cart();
$model->scenario = 'sessionapi';
$dataarr = array();
$model->data = $cart;
if($model->validate())
{
die(ok);
}
}
我想myvalidation
上sessionapi
方案運行,但它不工作。
嘗試:[ '上'=> [ 'sessionapi' cartfood', 'myvalidation'], –
@YasinPatel不工作 – Arunendra
$模式=新購物車(); $ model-> scenario ='sessionapi'; –