1
我需要Cakephp 2.2專家來幫助我。 我想進行更新,用下面的「$這個 - >數據」:Cakephp驗證規則在更新時觸發,即使在on =>'create'指定
array(
'Button' => array(
(int) 0 => array(
'id' => '1',
'on' => '0'
),
(int) 1 => array(
'id' => '2',
'on' => '0'
),
(int) 2 => array(
'id' => '3',
'on' => '1'
),
(int) 3 => array(
'id' => '4',
'on' => '1'
)
)
)
按鈕模型中的驗證規則是:
public $validate = array(
'id'=>array(
'notEmpty' => array(
'rule' => 'notEmpty',
'required' => true,
'message' => 'Module id can not be empty',
'on' => 'update'
),
'naturalNumber' => array(
'rule' => 'naturalNumber' ,
'message' => 'Module id is not integer',
'on' => 'update'
)
),
'name'=>array(
'notEmpty' => array(
'rule' => 'notEmpty',
'required' => true,
'message' => 'Module name can not be empty',
'on' => 'create'
),
'alphaNumericWithSpaces' => array(
'rule' => array('custom', '/^[a-z0-9 ]*$/i') ,
'message' => 'Module category is not alphanumeric'
)
),
'type'=>array(
'notEmpty' => array(
'rule' => 'notEmpty',
'required' => true,
'message' => 'Module category can not be empty',
'on' => 'create'
),
'naturalNumber' => array(
'rule' => 'naturalNumber',
'message' => 'Module category is not integer'
)
),
'on'=>array(
'boolean' => array(
'rule' => 'boolean',
'message' => 'Module ON value is not boolean'
)
));
,然後,在控制器中,我有下面的代碼:
if(!empty($this->data)) {
if($this->Button->saveAll($this->data)) {
debug ('Saved!');
}
else {
debug($this->Button->validationErrors);
}
}
的問題是,「白水()」未作出更新,並觸發以下驗證錯誤,即使我已經對=>「創建」用在這些領域火僅在創建記錄時:
array(
'name' => array(
(int) 0 => 'Module name can not be empty'
),
'type' => array(
(int) 0 => 'Module category can not be empty'
)
)
謝謝!