【小ネタ】CakePHP でチェックボックスのバリデーション
いつ見ても「
本日は 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個)',
),
はい、こんな感じにできます。
以上、本日の小ネタでした。