我必须使用'CakePHP'以单一形式验证多个模型。 我有2个型号。
发票
public $validate = array(
'type' => array(
'rule' =>'notEmpty',
'message' => 'Select Invoice Type.',
'required' => true
),
'number' => array(
'rule' =>'numeric',
'message' => 'Enter Invoice Number.',
'required' => true
),
'date' => array(
'rule' => array('date', 'dmy'),
'allowEmpty' => true,
'message' => 'Enter Invoice Date.'
),
);
public $belongsTo = array(
'Client' => array(
'className' => 'Client',
'foreignKey' => 'client_id'
));
客户端
public $validate = array(
'name' => array(
'rule' =>'notEmpty',
'message' => 'Enter Your Name.',
'required' => true
),
'company' => array(
'rule' =>'notEmpty',
'message' => 'Enter Your Company Name.',
'required' => true
),
'address' => array(
'rule' =>'notEmpty',
'message' => 'Enter Your address.',
'required' => true
)
);
public $hasMany = 'Invoice';
我有一个表单,其中包含' clientName ','地址',' InvoiceNumber '和' InvoiceDate <等字段/ em>的”。
我使用了saveAll(),但它只验证Invoice
数据,而不验证Client
数据。
答案 0 :(得分:0)
查看以下答案:https://stackoverflow.com/a/4673403/1110760
hasMany模型的字段应该是数组(当与父模型结合使用时),请参见字段名称之间的.0
如果您想在发布时仍然发布表格,我们可以为您提供帮助。
答案 1 :(得分:0)
取自http://book.cakephp.org/2.0/en/models/data-validation/validating-data-from-the-controller.html
if ($this->ModelName->saveAll(
$this->request->data, array('validate' => 'only')
)) {
// validates
} else {
// does not validate
}