CakePHP如何验证isNull多个字段

时间:2015-01-29 10:31:10

标签: php validation cakephp

我有以下数据库模型。

Model1 hasMany Users
Model2 hasMany Users
Model3 hasMany Users

一个用户只能属于一个模型。所以表用户字段如下:

id username password model1_id model2_id model3_id

我需要在CakePHP用户模型中检查三个外键不能同时为NULL。

哪种解决方法最好?因为我无法创建任何自定义验证规则,所以验证验证规则用于验证一个字段。那么如何验证多个字段并打印相关的验证错误。

2 个答案:

答案 0 :(得分:0)

you should add this in your Model.
public $validate = array(
'fieldName1' => array(
    'rule' => 'ruleName',
    'required' => true,
    'allowEmpty' => false,
    'message' => 'Your Error Message'
    )
);

Cakephp Validation links

答案 1 :(得分:0)

使用自定义验证

public $validate = array(
'table1_id' => array(
    'rule' => array('custom_validation'),
    'required' => true,
    'allowEmpty' => false,
    'message' => 'Your Error Message'
    ),
'table2_id' => array(
    'rule' => array('custom_validation'),
    'required' => true,
    'allowEmpty' => false,
    'message' => 'Your Error Message'
    ),
'table2_id' => array(
    'rule' => array('custom_validation'),
    'required' => true,
    'allowEmpty' => false,
    'message' => 'Your Error Message'
    )
);

function custom_validation(){
    if( empty($this->data['table1_id']) && empty($this->data['table2_id']) && empty($this->data['table3_id']) ) {
       return false;
    }

      return true;
}