我浏览了所有文档,但仍然没有适当的解决方案。
我有一个带输入的简单表单: 用户名 电子邮件 性别 密码
该注册有一个实体,但还有很多其他字段不在表单中。
如何为其创建验证? 甚至是一个简单的数组或新对象,仅用于此特定表单验证。
最好的方法是什么?
答案 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());