0

簡単に言うと、idフィールドと数値を必須にするフォームがあります。symfony2の本に基づいて、これは次のルーティングによって簡単に達成されるはずです。

acme_demo_users_save:
    pattern:  /userSave
    defaults: { _controller: AcmeDemoBundle:User:save, _format: ~ }
    requirements:
        _method: POST
        id: \d+

getを実行しようとするとエラーがスローされるため、メソッド要件は実際にチェックされます。ただし、パラメータ検証のタイプは実行されません。IDの有無にかかわらずフォームを送信できます。

私は何かが足りないのですか?パラメータはGETに対してのみ検証されますか?

4

1 に答える 1

5

このルートは、ID パラメータを取得する方法を知りません。そのパターンを次のように編集します。

acme_demo_users_save:
    pattern: /userSave/{id}
    ...

したがって、URL はhttp://mysite.com/userSave/12 (12 は ID)のようになります。

ポスト リクエストで ID を送信する必要がある場合は、フォームに検証制約を追加し、ルートで ID 検証を省略します。

于 2012-10-25T08:21:04.837 に答える