Home > CakePHP > CakePHP1.2でValidation関係を触ってみる。

CakePHP1.2でValidation関係を触ってみる。

本当に1.2系列のKnowledge無いんですね・・・・。英語のドキュメントすらないとは・・・。
ってことで、次は1.2系を入れた理由の1つ、入力文字の判定周りを触ってみます。

まずは、Modelで定義する方法。


var $validate = array( 'owner_mail' => array(
'rule' => array('email'),
'message' => 'メールアドレスは正しく入力してください'));

$validateで設定をします。
公式はこんな感じ?
$validate(’カラム(キー)値’ => array(’rule’ => array(’ルール定義’),’message’ => ‘エラー時のメッセージ’));
エラー時のメッセージは入力フォームの直後に出ます。

次にController。


$this -> Model名 -> validates($this ->data);

今回は、データ投入をするのではなくあくまで入力内容チェックなので、これだけ。
ポイントは「validates」。「s」付きですよ!
これでModelに書いたデータを精査します。

最後はView。


< ?php echo $form->error(’save等で使った入力キー値’, ‘エラー文’);?>

通常、エラー文は出るので、これはたとえば入力フォームの一番上に列挙する形で置いておくのがいいかもしれません。
良くあるパターンですね。エラーがあるときだけ文章が出てくる感じ。

で、動いてはいるんだけど・・・なんかアラートが出てる罠。

Warning (512): (Model::validates) Parameter usage is deprecated, set the $data property instead [CORE/cake/libs/model/model.php, line 1745]

何々、えーと・・・「パラメータの書き方は非推奨、$dataの特性?を推奨します。」

ん??

validatesの書き方がおかしいのかな・・・・?もうちょっと調査します。

[tags]CakePHP,Validates,1.2,CakePHP1.2[/tags]

Comments:2

admin 07-12-03 (月) 11:25

Parameter usage is deprecatedの問題は分かりました。
どうやら、Validatesには配列の形で渡してはいけないようです。

$this -> ModelName -> validates();

なので、事前に回避策でCreateをすることで解決。

$this -> ModelName -> create($this -> data);

magazinn55 07-12-03 (月) 13:03

突然のコメントで失礼いたします。
ブログを拝見させていただきまして、是非とも協力をして
いただきたくコメントという形で、ご連絡をいたしました。
当サイトは「ブログで繋がるコミュニケーション」をテーマに
参加していただくブロガーの皆様を幅広く募集をしています。
ランキングを楽しんだり、さまざまなブログを拝見したり、
ブログを持っている方々のコミュニケーションの、
一つの引き出しとして、その場を提供したいと考えています。
当サイトの検索バーの横にブログの登録フォームがあります。
お手数をおかけいたしますが、ご賛同いただいて、ブログの登録を
御願いできれば幸いでございます。
是非、御願いします。こちらのサイトです。
http://www.p-netbanking.jp
なお、こちらのミスで謝って、再度、ご連絡をした場合。
また、全く興味のない方は削除されてください。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://manjiro.net/archives/74/trackback
Listed below are links to weblogs that reference
CakePHP1.2でValidation関係を触ってみる。 from デジタル料理人 - Webプログラマコンサル屋 -

Home > CakePHP > CakePHP1.2でValidation関係を触ってみる。

カテゴリー
blog chart

Return to page top