2013-02-09 82 views
0

我最近开始使用symfony2并推动一个项目。这不是一个平稳的旅程,但它的顺利。验证Symfony2和Propel

几天前,我被卡在表单验证中。我有我的validation.yml这样定义:

Project\MainBundle\Model\User: 
    properties: 
     first_name: 
      - NotBlank: { message: "Please add the user's first name." } 
     last_name: 
      - NotBlank: { message: "Please add the user's last name." } 
     email: 
      - NotBlank: { message: "Please add the user's email address." } 
      - Email: { message: "Please use a valid email address." } 
     password: 
      - NotBlank: { message: "Please add the user's email address." } 

当我提交表单的一切工作正常,除了在形式一片空白FIRST_NAME和last_name提交。在调试后我发现问题不在验证上,而是在两个字段的错误渲染上。密码和电子邮件错误呈现正常。以下是我设置表单的方式。

$builder->add('firstName', 'text'); 
    $builder->add('lastName', 'text'); 
    $builder->add('email', 'text'); 
    $builder->add('password', 'password'); 

我可以改变我的名字我的领域上表单生成器,但在同一时间,我想跟进的Symfony2的命名约定(和我的数据库命名约定保持),所以我选择了这个作为最后的手段。

我希望我能清楚地解释我的问题。任何人都可以为我提供解决方法吗?

回答

0

您的问题可能来自您似乎不尊重YAML语法的事实。

Project\MainBundle\Model\User: 
    properties: 
     first_name: 
      - NotBlank: { message: Please add the user's first name. } 
     last_name: 
      - NotBlank: { message: "Please add the user's last name. } 
     email: 
      - NotBlank: { message: Please add the user's email address. } 
      - Email: { message: Please use a valid email address. } 
     password: 
      - NotBlank: { message: Please add the user's email address.} 

你可以参考:http://symfony.com/doc/current/book/validation.html

1

您可以通过吸气验证。 http://symfony.com/doc/current/validation.html#getters

Project\MainBundle\Model\User: 
    getter: 
     firstName: 
      - NotBlank: { message: "Please add the user's first name." } 
     lastName: 
      - NotBlank: { message: "Please add the user's last name." } 
     email: 
      - NotBlank: { message: "Please add the user's email address." } 
      - Email: { message: "Please use a valid email address." } 
     password: 
      - NotBlank: { message: "Please add the user's email address." }