テキスト用の可視入力フィールドと、渡す ID 用の非表示 ID フィールドを使用する標準的なアプローチを使用して、jQuery オートコンプリートを備えたフォームがあります。無効な入力を避けるために、CakePHP 検証で ID をチェックします。標準の実装では、非表示の id フィールドにエラー メッセージが表示されます。まったく現れないでしょう。ここで、エラー メッセージを表示可能な入力フィールドにリダイレクトする 2 つの方法を実装しました。1) 非表示の id フィールドではなく、入力フィールドの検証ルールを設定します。検証は、ID の有効性を確認するために $this-data['id'] を使用するカスタム関数で行われます。2) 追加のキー 'redirectMessage' を検証配列に追加し、ModelValidator クラスで、メソッド 'invalidate' を次のように変更しました。
$curVal = $this->_model->validate[$field];
if(array_key_exists('redirectMessage', $curVal))
$field = $curVal['redirectMessage'];
$this->getModel()->validationErrors[$field][] = $message;
どちらの方法も期待どおりに機能しますが、この問題を解決する公式の方法はありませんか?
よろしく
アレックス