设置symfony2路由中所需的参数

时间:2012-10-25 08:16:10

标签: validation symfony parameters routing

长话短说,我有一个表格,我希望id字段是强制性的,也是一个数字。根据symfony2书,这应该通过以下路由轻松实现:

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

确实检查了方法要求,因为如果我尝试执行get,则会抛出错误。但是,不执行任何类型的参数验证。我可以提交带有或没有id的表格。

我错过了什么吗?参数是否仅针对GET进行验证?

1 个答案:

答案 0 :(得分:5)

此路由不知道如何获取ID参数。编辑其模式如下:

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

所以网址看起来像http://mysite.com/userSave/12(12是id)

如果您需要通过邮寄请求提交ID,只需在表单中添加验证约束,并在路径中省略ID验证