シェアする

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

[CakePHP]複数選択のvalidate

medium_141682886

例えば

		echo $this->Form->input('user_id', array(
			'label' => '担当者',
			'multiple' => 'checkbox',
			'options' => $userList,
		));

こんなフォームを書いていたとして、notemptyでは検証できない。
こういう時は、multipleを使う。

今までもこうしたバリデーションを書いたことがあるはずなのに、初めて目にするような衝撃だった。
ヤバイ。疲れてる。

public $validate = array(
		'user_id' => array(
			'notempty' => array(
				'rule' => array('multiple'),
				'message' => '担当者は必ず1人以上選択してください',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
);

参考:Data Validation ? CakePHP Cookbook v2.x documentation

Do not use this for a multiple select input as it will cause an error. Instead, use “multiple”.

シェアする

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

フォローする