CakePHPでバリデーションのヘルパーを作る
phpではstaticなメソッドであってもフィールド内で呼び出しが出来ないためバリデーションのヘルパメソッドを作る場合にはコンストラクタで呼び出すのが良い模様。
動的バリデーションをかけるのと同じ感じで。
例えば
class ValidationHelper {
public static between($min, $max, $option) {
$default = $array('rule' => array('between', $min, $max),
'message' => __('%d文字以上%d字以内', $min, $max));
return array_merge($default, $option);
}
}
みたいな感じにしてコンストラクタ内で
$validate = array(
'field' => array('between' => ValidationHelper::between(5,15))
);
と呼ぶことで一応できるっぽい。 動的バリデーションと同じ感じ