function メソッド名(値,引数,……){
……実行する処理……
return 真偽値;
}メソッドには最低でも1つの引数が用意されます。この第1引数には、バリデーションを設定したフォーム項目の値が収められます。――と、CakePHPのドキュメントにはあるのですが、現在の安定版であるCakePHP 2.0.4stableで確認しても、この引数には「入力された値」は入りません。何が入るかというと、「項目名をキーとして、入力された値を保管した連想配列」が入っています。※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※MySampleData.php
<?php
App::uses('AppModel', 'Model');
class MySampleData extends AppModel {
public $validate = array(
'name'=>array(……略……),
'mail'=>array(
'rule'=>array('checkMyRule',2),
'message'=>'偶数を入力ください。'
),
'tel'=>array(……略……)
);
function checkMyRule($val,$num){
$n = $val['mail'];
return $n % $num == 0;
}
}
| << 前へ |