入力文字列の長さ(文字数)をバリデーション
CakePHP 2には、コアバリデーションに文字列の長さを検証する関数が用意されています。
文字列長(コア)バリデーション
minLength - 最小文字数以上であること
maxLength - 最大文字数以下であること
between - 最小文字数以上かつ最大文字数以下であること
デモ
mb_strlenが定義されている環境であれば、マルチバイト対応しています。
また、それぞれ、'allowEmpty' => trueを指定した場合は、そちらが優先されます。
minLength
指定文字数以上入力されていることを検証します。
minLength($check, $min)
第2引数に文字数を指定します。"以上"になります。
public $validate = array(
'password' => array(
'rule' => array( 'minLength', 8),
'message' => '8文字以上入力して下さい。',
// 'allowEmpty' => true
),
);
maxLength
指定文字数以下入力されていることを検証します。
maxLength($check, $max)
第2引数に文字数を指定します。"以下"になります。
public $validate = array(
'tweet' => array(
'rule' => array( 'maxLength', 140),
'message' => '140字以内で入力して下さい。',
// 'allowEmpty' => true
),
);
between
最大文字数・最小文字数を指定します。minLengthとmaxLengthの組み合わせ
between($check, $min, $max)
第2引数に最小文字数、第3引数に最大文字数を指定します。"以上"、"以下"になります。
public $validate = array(
'bio' => array(
'rule' => array( 'between', 50, 300),
'message' => '50文字以上、300文字以下で入力して下さい。',
// 'allowEmpty' => true
),
);
Models > Data Validation
関連記事
-
-
独自のバリデーションルールを作成
CakePHPで組み込みバリデーションルールをつくる方法は、正規表現を定義する方法と独自メソッドを定義する方法の2つがあるようです。 参考 Custom Validation Rules 正規
-
-
HttpSocketを使用してリクエスト送信
CakePHPには、Webサービスへのリクエスト送信のためのHttpSocketクラスが用意されています。 HttpSocket get HTTP GETリクエストを発行します。デモ H
-
-
バリデーションエラーメッセージの取得
CakePHP 2.xになってバリデーションエラー時に返却されるメッセージのデータ形式が変更になったようです。1.3系では、ひとつのフィールドに対して返却されるメッセージは一つのルールのみですが、2.
-
-
FormヘルパーのMagicOption (マジックオプション)
Formヘルパーでは、「フィールド名」,「テーブルカラムのデータ型」もしくはモデルの「バリデーション設定」によりフォーム要素を決定したり、自動で属性を付与する「マジックオプション」と呼ばれるものがある
-
-
コントローラ内でバリデーション処理を呼び出す
CakePHPでは、saveメソッドの際にバリデーション処理も自動で行われますが、save処理と切り離してバリデーションを行うこともできます。このときは、save時と若干異なる処理体系になります。
-
-
selectボックスを実装
今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った
-
-
RSSフィードの取得
コンロトーラ public function getrssfeed() { try { $newsItems = $this->Rss->read( 'http://
-
-
ハッシュ関数の選択とハッシュ化処理
CakePHPでは、ログイン時にはpasswordを自動的にハッシュ化して認証を行ってくれますが、そのパスワードを登録する際は、明示的にハッシュ化する必要があります。 ハッシュ関数の選択 ハッ
-
-
数値系バリデーション
CakePHP 2になっていくつか数値用バリデーションルールが追加されています。 数値用 (コア)バリデーション decimal - 十進数であること numeric - 数値であること
-
-
CSS/JSをひとまとめにして軽量化するプラグイン「Minify plugin for CakePHP」
「Minify plugin for CakePHP」は、インクルードするCSSもしくはJSファイルをひとまとめにしてキャッシュ化してくれるプラグインです。 導入 ダウンロード・解凍し


Comment
CakePHP 2.4 - 入力文字列の長さ(文字数)をバリデーション http://t.co/ly2xTmIC7b ブログ