「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」、「Address」、「InvoiceNumber」、「InvoiceDate 」などのフィールドを持つフォームが 1 つあります。私は saveAll() を使用しましたが、データではなくInvoice
データを検証するだけClient
です。