適切に検証するための配列を取得できないようです。私の例では、すべてのミュージシャンが少なくとも 1 つの楽器を持っている必要があります ($musician->instruments は楽器の配列です)。次の方法で検証ルールを設定しようとしましたが、どのような状況でも検証するものはありません (配列に少なくとも 1 つの値がある場合を含む)。
あ
public $validates = array(
'name' => 'Required',
'instruments' => 'Required'
);
B
public $validates = array(
'name' => 'Required',
'instruments' => array(
array(
'notEmpty',
'message' => 'Required'
)
)
);
C でさえ検証に失敗する
Validator::add('hasAtLeastOne', function($value) {
return true;
});
...
public $validates = array(
'name' => 'Required',
'instruments' => array(
array(
'hasAtLeastOne',
'message' => 'Required'
)
)
);
配列が空の場合にバリデーターが失敗し、count($musician->instruments) >= 1 の場合に合格するように設定するにはどうすればよいですか?