私のモデルコードでメッセージにレイアウトを設定する方法はありますか?CakePHP - メッセージをカスタマイズする
var $validate = array(
'email' => array(
'rule' => array('email', true),
'message' => 'Please supply a valid email address.'
)
);
私のモデルコードでメッセージにレイアウトを設定する方法はありますか?CakePHP - メッセージをカスタマイズする
var $validate = array(
'email' => array(
'rule' => array('email', true),
'message' => 'Please supply a valid email address.'
)
);
これは、CakePHPで行うことができます。
は、ここに私のモデルです。しかし、あなたの懸念が混ざり合っています。このモデルは、データ収集、操作、マッサージのためのものです。データのレイアウトはビューの責任の下にあります。 CakePHPでは特にフォームヘルパーです。チェックアウトデータ検証メッセージのための独自のレイアウトを指定する方法についての詳細情報については
:
http://book.cakephp.org/view/1639/options-inputDefaults
彼らは、まさにこれを行う方法にはかなり素晴らしいコードサンプルを提供しています。
私も非常には、本全体を読むことをお勧めします。それは非常に貴重です。
編集:コメント
からの明確化後の回答は、あなたはelement
を作成し、app/views/elements
に入れてしまいます。通常のCakeの規則を使ってファイルに名前を付けるべきです。 flash_error
に行きましょう。
表示するHTMLに設定します。必ずあなたのメッセージがありますステップ1
ステップ2はあなたの$this->setFlash()
呼び出し中であることを
<?php echo $message; ?>
$this->setFlash($message, 'flash_error');
今すぐあなたのsetFlashメッセージがステップ1.たい異なるレイアウトで定義されたレイアウトを使用しますか?新しい要素を作成し、新しい要素名を渡すだけです。
setFlash()メソッドには、さらに便利な2つのパラメータがあります(特に、同じページに複数のflash()メッセージが必要な場合)。ブックへの別のリンク:
チャールズ、私はあなたの言葉に感謝します。私のコントローラでsetFlash()に異なるレイアウトを使用する方法を知っていますが、私のモデルクラスでmy $ validateからのメッセージは使用できません。 –
http://book.cakephp.org/view/1637/flashElement 皮肉なことに私は実際にこの小さなものをCakePHPのマニュアルに追加したものでした。それが私を笑わせる。 – cspray
またはAuthコンポーネントを使用していない場合は、私の瞬間を教えてください。元の回答を編集します。 – cspray