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

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
  • このエントリーをはてなブックマークに追加

関連記事

(メール・URL・電話・郵便・IP) データ バリデーション

今回は、プロフィール情報に使用されるデータに絞ったバリデーションルールです。 バリデーションルール 以下の5つのバリデーションルールがコアに用意されています。 email メールアドレス

no image

HttpSocketを使用してリクエスト送信

CakePHPには、Webサービスへのリクエスト送信のためのHttpSocketクラスが用意されています。 HttpSocket get HTTP GETリクエストを発行します。デモ H

Formヘルパーのinputタグのdiv/labelなどの設定

Formヘルパーのinputではデフォルトでは以下のようにdivで囲われて、labelが付与されて出力されます。 CSSのフレームワークなどであらかじめ決まったスタイルがある場合に便利に作られていま

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

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

RSSフィードの取得

コンロトーラ public function getrssfeed() { try { $newsItems = $this->Rss->read( 'http://

hasOne アソシエーション

hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP

日付・時間のバリデーション

日付や時刻に関するバリデーションは以下のルールがビルトインされています。 date 日付 time 時刻 datetime 日時 (m:「月」を数字表記 / M:「月」を英語表記)

FullCalendarを使用してカレンダーアプリケーション

カレンダーアプリケーションを作成するため、カレンダー表示できるプラグインを探索して出会ったFullcalendarを試してみました。シンプルに使用できる上に、オプションがかなり豊富です。ダウンロード

SQLクエリーをログに出力する

SQLのクエリーをデバッグするには、Debug Kitを使用すればできますが、デバッグログと一緒に出したいのでやり方を調査してみました。 別々のログやビューでみるのもいいですが、秒単位で実行される処

複数ファイルアップロードフォーム

CakePHP 2.0からはHTML5が標準でサポートとなり、複数ファイルアップロードのためのフォーム記述が容易になりました。 View (ビュー) 配列 Array (

Comment

Message

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

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

    PAGE TOP ↑