1

Silex を使用しており、バリデータ サービスで値を検証しようとしています。しかし問題は、1 つの値に複数の制約を適用する必要があることですが、バリデータは制約を使用しないとこれを実行できませんRequired

選択値 (たとえば、「リンゴ」または「オレンジ」) を検証したいだけの場合、制約をラップする必要がChoiceあり、 (値を許可するNotNullため) and に(なしでは使用できないため、一連の の制約を検証するのは誰なのか) ) このような:ChoicenullRequiredCollectionRequiredCollectionCollectionValidatorRequired

$violations = $app['validator']->validate(array('value'), 
    new Collection(array(
        new Required(array(
            new Choice(array('apple', 'orange')),
            new NotNull()
        ))
    )));

冗長に見えるので、よりエレガントなソリューションを探しています(バリデーターの明示的な使用のため)。

4

1 に答える 1

0

validateValue制約の配列を 2 番目のパラメーターとして受け入れる関数を使用できます。

$violations = $app['validator']->validateValue('value', array(
    new Choice(array('apple', 'orange')),
    new NotBlank()
));
于 2013-03-26T15:01:45.980 に答える