0

テキスト用の可視入力フィールドと、渡す 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;

どちらの方法も期待どおりに機能しますが、この問題を解決する公式の方法はありませんか?

よろしく

アレックス

4

1 に答える 1