lol*_*ola 4 validation cakephp
我正在尝试使用CakePHP验证而不使用save().但它总是会返回错误.我插入文本,但验证说它是空的.为什么?
我的型号:
var $validate = array(
'm_subject' => array(
'empty' => array(
'rule' => 'notEmpty',
'required' => true,
'allowEmpty' => false,
'message' => 'Subject is empty',
)
),
'm_text' => array(
'empty' => array(
'rule' => 'notEmpty',
'required' => true,
'allowEmpty' => false,
'message' => 'Text is empty',
)
)
);
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
$this->Admin->set($this->data);
if($this->Admin->validates($this->data, array('m_subject', 'm_text'))) {
//OK
}
else {
$errors = $this->Admin->invalidFields();
pr($errors); //Always returns "Subject is empty" and "Text is empty".
}
Run Code Online (Sandbox Code Playgroud)
Jus*_*ost 10
$this->ModelName->validates();如果要传递任何数据,则不会获取数据数组validates()是一个选项数组,然后由modelCallback处理beforeValidates()
如果您想确定数据是否有效,请尝试使用此逻辑:
$this->ModelName->set($this->data);
if ($this->ModelName->validates()) {
// Data Validated
} else {
// Data Not Validated
}
Run Code Online (Sandbox Code Playgroud)