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

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

関連記事

Markdown Plugin

「Markdown CakePHP Plugin」は、MarkDown書式をレンダリングしてくれるビューヘルパーです。MarkDownについて勉強しているうちに出会ったので試し打ちです。 ダウンロー

独自のバリデーションルールを作成

CakePHPで組み込みバリデーションルールをつくる方法は、正規表現を定義する方法と独自メソッドを定義する方法の2つがあるようです。 参考 Custom Validation Rules 正規

FormヘルパーのMagicOption (マジックオプション) 

Formヘルパーでは、「フィールド名」,「テーブルカラムのデータ型」もしくはモデルの「バリデーション設定」によりフォーム要素を決定したり、自動で属性を付与する「マジックオプション」と呼ばれるものがある

Cookieログイン

今回は、ログイン画面でよくみかけるクッキーログインの機能を使ってみます。 CakePHPには、Cookieコンポーネントがあります。(PHPのsetcookieメソッドのラッパー)メソッドはwr

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

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

CakePHP インストール時エラーの対処

CakePHPインストール時に出くわすであろうエラーの原因と対処方法についてまとめてみました。前提として、WebサーバはApache、データベースはMySQLとしています。 Timezone未設

CakeEmailでメール送信(@gmail)

CakePHP 2になって追加されたクラスCakeEmailがシンプルに使えます。これを使用してメール送信を行う処理を実装してみました。 CakeEmailクラスの読み込み /app/Config

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

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

Blowfishを使用してハッシュ化する

使用方法 Blowfishを採用してハッシュ化を行う場合、Securityクラスのhashメソッドを呼び出します。第2引数に'blowfish'を指定し、第3引数を指定しないもしくはfalseにしま

バリデーション前後に処理を追加できる「beforeValidate」「afterValidate」

CakePHPでは、「beforeValidate」「afterValidate」というバリデーション処理の前後で追加の処理を実装できるコールバック関数が用意されています。 beforeVali

Comment

Message

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

*

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

    PAGE TOP ↑