没有对象的symfony表单验证

时间:2013-07-09 10:13:24

标签: php validation symfony

我浏览了所有文档,但仍然没有适当的解决方案。

我有一个带输入的简单表单: 用户名 电子邮件 性别 密码

该注册有一个实体,但还有很多其他字段不在表单中。

如何为其创建验证? 甚至是一个简单的数组或新对象,仅用于此特定表单验证。

最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

简单地使用您实体上的验证映射并将其用于验证。仅验证通过表单发送的字段,应忽略表单中不包含的所有其他字段。

如果没有实体,只需在Form\Model命名空间下创建一个模型对象。相应的表单类型的构建方式与实体的表单类型相同。

namespace Acme\DemoBundle\Form\Model;
use Symfony\Component\Validator\Constraints as Assert;

class Export
{
    /**
     * @Assert\Date
     */
    protected $from;

    /**
     * @Assert\Date
     */
    protected $to;

    // getter and setter
}

并将其与控制器中的en实体一样使用:

$form = $this->createForm(new ExportType(), new Export());