3

「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です。

4

2 に答える 2

0

次の回答をご覧ください: https://stackoverflow.com/a/4673403/1110760

hasMany モデルのフィールドは配列である必要があります (親モデルと組み合わせる場合)。フィールド名の間に .0 が追加されていることを確認してください

まだ行き詰まっているときにフォームを投稿したい場合は、私たちがお手伝いします。

于 2013-01-28T13:13:00.027 に答える