1

Json-RPCでパラメーターを検証しようとしています。Symfony2の検証で私はこれを行うことができます:

$expense = new Expense;
$expense->setAmount(1);
$validator = $this->get('validator');
$errors = $validator->validate($expense);

setFoo()ただし、メソッドで各パラメーターを手動で指定したくありません。FormSymfonyライブラリの動作と同じようにデータをバインドする方法はありますか?

4

2 に答える 2

0

私があなたの質問を理解すれば$errors = $validator->validate($user)、その仕事をします。バリデーターサービスのドキュメントの使用を参照してください。

于 2012-12-03T11:40:45.683 に答える
0

これはSymfony2では不可能であることがわかりました。データを自分でバインドする必要があります。次のようなbindメソッドを作成しました。

$params = array('amount' => 1);

foreach($params as $key => $value) {
    try {
        $path = new PropertyPath($key);
        $path->setValue($obj, $value);
    } catch (\Exception $e) {
        // parameter does not exist in POPO
    }
}

パラメータをPOPOオブジェクトにバインドした後、通常どおりに検証できます。

于 2012-12-05T10:59:44.037 に答える