入力文字列の長さ(文字数)をバリデーション

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
    ),
);


Textヘルパー:/lib/Cake/Utility/Validation.php
Models > Data Validation
  • このエントリーをはてなブックマークに追加

関連記事

DebugKitを導入

定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。 2.3からはCakePHPインストール直後に以下のように導入を推奨するような警告メッセージが表示されるようになりまし

テーブルからランダムにデータを取り出す(find)

CakePHPでテーブルから特定件数のレコードをランダムに取得するには以下のように指定するとできます。 $this->data = $this->Bulkdata->find( 'all',

no image

radioボタンを実装

Radioボタンの実装は、セレクトボックスとほぼ同じです。 個人的にはラジオボタンをすすんで使用することは少ないのですが、2択くらいの選択肢であれば非常に便利ですよね。 今回は、その実装方法 デモ

CSS/JSをひとまとめにして軽量化するプラグイン「Minify plugin for CakePHP」

「Minify plugin for CakePHP」は、インクルードするCSSもしくはJSファイルをひとまとめにしてキャッシュ化してくれるプラグインです。 導入 ダウンロード・解凍し

ユーザ登録(仮登録・メール・本登録)

以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU

selectボックスを実装

今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った

recursive設定によるfind()性能改善

CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎま

パス定数と変更方法やURLの取得

CakePHPは基本的にはディレクトリそのまま配置することで構築が可能ではありますが、設定パスを変更することでセキュリティに考慮した構成にすることや運用性をもたせたものにすることが可能になります。

ネストしたリストを出力「nestedList」

DBやJSONからデータを取得して、そのデータをもとにメニュー表示などネストしたリストを出力させたい場合に「nestedList」が便利です。 ヘルパーに渡すデータは連想配列である必要があります。(

ログインに追加の条件を付与する「scope」

ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには

Comment

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

PAGE TOP ↑