$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("送信"); ?>
| << 前へ |