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

Nem*_*mus 3 php forms validation symfony

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

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

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

谢谢

小智 6

在表单生成器中,您可以添加映射的属性=> false表示 it\xe2\x80\x99s 未针对模型进行验证,因此无需实现单独的 get/set() 方法

\n\n

这是一个例子:

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