CakePHP日付のValidateion,preg_matchエラーが表示される。

メモ:HTMLヘルパーのtype=>’date’で作ったセレクトメニューをそのまま Validateionクラスにおくって、rule=>array(‘date’)でチェックしようとするとエラーになったので、オリジナルのチェック関数でバリデーション

class AppModel extends Model {

	public function dateArray($check,$config){

		if(
			is_numeric($check['date']['year']) &&
			is_numeric($check['date']['month']) &&
			is_numeric($check['date']['day'])
		){
			$dateStr = implode('-',$check['date']);
			if(preg_match('/^\d{4}-\d{2}-\d{2}$/',$dateStr)){
				return true;
			}else{
				return false;
			}

		}else{
			return false;
		}

	}
		public function timeArray($fields,$config){
		foreach($fields as $field){
		    if(
				is_numeric($field['hour']) &&
				is_numeric($field['min'])
			){
				$timeStr = implode('-',$field);
				if(!preg_match('/^\d{2}-\d{2}$/',$timeStr)){
					return false;
				}
			}else{
				return false;
			}
		}
		return true;
	}

}

コメントを残す

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