$validate = array(こんな具合に、それぞれの項目に連想配列を設定するようになっています。こうすることで、バリデーションの内容をより具体的に記述できるのですね。
"項目" => array( 設定 => 値, 設定 => 値 ……),
"項目" => array( 設定 => 値, 設定 => 値 ……),
……略……
);
"rule" => array("between", 最小文字数 , 最大文字数 )このように記述することで、指定した範囲内の文字数でないとOKしないようにできます。この"between"のように、バリデーション用の定数以外にも、実はたくさんのバリデーションがCakePHPには用意されているのです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※Mydataモデルの修正 <?php class Mydata extends AppModel { public $name = "Mydata"; public $validate = array( "name" => array( "rule" => 'notEmpty', "message" => "名前は必ず記入してください。" ), "mail" => array( "rule" => 'mail', "message" => "メールアドレスではありません。" ), "comment" => array( "rule" => array("between",0,100), "message" => "メモは半角文字で100文字以内にしてください。" ) ); } ※add.ctpの修正 <h1>データの追加</h1> <?php echo $form->create("Mydata",array("type"=>"post","action"=>"./add")); ?> <?php echo $form->input("name"); ?> <?php echo $form->input("mail"); ?> <?php echo $form->input("tel"); ?> <?php echo $form->textarea("comment"); ?> <?php echo $form->error("comment"); ?> <?php echo $form->end("送信"); ?>
<< 前へ |