バリデートの拡張

NULLか数字

	var $validate = array(
		'tochiheibei' => array(
			'rule' => array('custom', '/(^[-+]?\\b[0-9]*\\.?[0-9]+\\b$)|(^$)/'),
			'message' => '半角数字で入力してください'));

2つのフィールドのどちらかまたは両方に数値が必要

kakakuかkakaku2に入力がないとバリデートにひっかかる
	var $validate = array(
		'kakaku' => array(
			'rule' => 'kakakuCheck',
			'message' => '売却・賃貸価格が両方未設定です。半角数字で入力してください'));
	
	function kakakuCheck() {
		if($this->data['Estate']['kakaku'] > 0 || $this->data['Estate']['kakaku2'] > 0 ) {
			return true;
		} else {
			return false;
		}
	}
ラジオボタンとの関係でバリデートにひっかかるようにする
  • syubetsuが1(賃貸物件)または売却価格に数値入力があるならパス
  • syubetsuが0(売却物件)または賃貸価格に数値入力があるならパス
  • 完全に自分メモだ 要件がわからんわな
	var $validate = array(
		'kakaku' => array(
			'rule' => 'kakakuCheck',
			'message' => '売却価格が未設定です。半角数字で入力してください'),
		'kakaku2' => array(
			'rule' => 'kakaku2Check',
			'message' => '賃貸価格が未設定です。半角数字で入力してください'));

	function kakakuCheck() {
		if($this->data['Estate']['syubetsu'] == 1 || $this->data['Estate']['kakaku'] > 0 ) {
			return true;
		} else {
			return false;
		}
	}

	function kakaku2Check() {
		if($this->data['Estate']['syubetsu'] == 0 || $this->data['Estate']['kakaku2'] > 0 ) {
			return true;
		} else {
			return false;
		}
	}