Symfony - 如何添加未嵌入基础对象的表单字段

时间:2013-08-31 09:18:58

标签: php forms validation symfony

我是Symfony的新手,我正在努力了解如何为登录创建一个好的表单。 就我现在而言,我理解当我调用“isValid()”方法时,我正在检查表单提交的数据是否与底层对象(即登录对象)的属性一致。

现在,这意味着表单字段和对象属性之间的绝对相等,这是我的问题的核心:

如果我想使用与任何登录对象属性不匹配的字段,该怎么办? 例如。 “记住我的登录”复选框,自动登录已登录的用户。

由于

1 个答案:

答案 0 :(得分:4)

在表单构建器中,您可以添加属性 mapped => false 表示它未针对模型进行验证,因此无需实现单独的get / set()方法

这是一个例子:

$builder
->add("firstName", "text")
->add("lastName", "text")
->add("emailAddress", "email")
->add("t_and_c", "checkbox", array(
    "mapped" => false,
    "constraints" => new True(array(
        "message" => "Please accept the Terms and conditions in order to register")
    ),
)