【小ネタ】CakePHP でチェックボックスのバリデーション

【小ネタ】CakePHP でチェックボックスのバリデーション

いつ見ても「Latin」という著者名が気になる kimoto です。別に社内でラテンっていうあだ名で呼ばれてるわけでもないのに…。

本日は CakePHP の小ネタです。
バリデーションルールを model に書きますが、チェックボックスが最低でも1つ以上チェックされていることを確認するにはどのように記述するか?というお話です。

だらだら前置きを書いても仕方ないのでさらっとコードを書きますが、以下のようにすると実装できます。

'intereste' => array(
	'rule'     => array('multiple', array('min' => 1)),
	'required' => true,
	'message'  => '興味のある物を選択してください',
),

これで、「少なくとも1つ以上選択されていること」という条件でバリデーションできます。

また、ここで「'min' => 1」というのを見れば、'max' ってのも指定できそうね?と思いつくと思います。

'intereste' => array(
	'rule'     => array('multiple', array('min' => 1, 'max' => 3)),
	'required' => true,
	'message'  => '興味のある物を選択してください(1個~3個)',
),

はい、こんな感じにできます。

以上、本日の小ネタでした。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ