OpenIDでログインして、ニックネームを登録してもらうような画面でのバリデートメモ。
usersテーブルのnicknameカラムにバリデートをかけたい。
チェック項目は3つ。
- ユニークなニックネームか
- 文字数制限内か
- 空白のみではないか
空白のみの入力をfunction notSpaceでチェック。
APP/model/user.php
<?php
class User extends AppModel {
var $name = 'User';
var $validate = array(
'nickname' => array(
'notSpace' => array(
'rule' => array('notSpace'),
'message' => '空白のみは登録できません。'
),
'between' => array(
'rule' => array('between', 1, 45),
'message' => '1文字以上入力してください。(全角15文字まで)'
),
'isUnique' => array(
'rule' => 'isUnique',
'message' => 'すでに登録されています。'
),
),
);
function notSpace($field=array()) {
foreach($field as $name => $value){
if (preg_match("/^( | )+$/", $value)) {
return false;
} else {
return true;
}
}
}
}
?>

コメント