次に公開される CakePHP 1.2 に3つのバリデーションが追加されるようです。
Three new validation rules – cakebaker

真偽値か

var $validate = array('is_enabled' => array('rule' => array('boolean')));

配列に含まれているか

var $validate = array('color' => array('rule' => array('inList', array('red', 'green', 'blue'))));

時刻

var $validate = array('starttime' => array('rule' => array('time')));

現在公開されている CakePHP1.2 には含まれていませんが、branch の validation.php にはコードが入っています。
/branches/1.2.x.x/cake/libs/validation.php – CakePHP : The Rapid Development Framework for PHP – Trac

それぞれ以下のようなコードです。

function time($check) {
	$_this =& Validation::getInstance();
	$_this->__reset();
	$_this->check = $check;
	$_this->regex = '%^((0?[1-9]|1[012])(:[0-5]\d){0,2}([AP]M|[ap]m))$|^([01]\d|2[0-3])(:[0-5]\d){0,2}$%';
	return $_this->_check();
}

function boolean($check) {
	$booleanList = array(0,1,'0','1',true,false);
	return in_array($check, $booleanList, true);
}

function inList($check, $list) {
	return in_array($check, $list);
}

関連する投稿