私は、関連付けられたいくつかのレイヤーからいくつかのモデルから情報を収集するフォームを持っています。そのため、個々に個別に保存しなければならず、エラーが発生した場合は、エラーメッセージを表示できるようにビューに戻って報告する必要があります。シーケンシャルセーブのために、私は、すべてのエラーが正しく表示されていないと思うし、私はisFieldError()
メソッドがエラーの存在をキャッチしていることを知っています。ビューからの無効なフィールドへのアクセス
エラーをチェックするためにビューレベルでこのデータにどのようにアクセスできますか? 3つのモデルすべてを検証して、すべてのエラーを同時に表示することができます。また、手動のデータ構造を作成してテストすることも避けてください。アクセス可能なネイティブのケーキの機能性/データはありますか?これは、従来のインスタンスでは使用できない完全なカスタムソリューションではありませんか?
# Controller snippet
if($this->Proposal->Requestor->saveField('phone_number', $this->data['Requestor']['phone_number']) && $this->Proposal->Requestor->Building->saveAll($this->data)) {
# Save off the proposal and message record.
exit('saved');
}
else {
$this->Session->setFlash('We can\'t send your quote just yet. Please correct the errors below.', null, null, 'error');
# At this point, I may have 2 or more models with validation errors to display
}
# Snippet from an element loaded into the view
# $model = Requestor, but the condition evaluates to false
<?php if($this->Form->isFieldError($model . '.phone_number')): ?>
<?php echo $this->Form->error($model . '.phone_number') ?>
<?php endif; ?>
ありがとうございます。