我是 Symfony 的新手,我正在尝试了解如何制作一个好的登录表单。就我现在所了解的,当我调用“isValid()”方法时,我正在检查表单提交的数据是否与底层对象(即登录对象)的属性一致。
现在,这意味着表单字段和对象属性之间的绝对相等,这是我的问题的核心:
如果我想使用与任何登录对象属性都不匹配的字段怎么办?例如“记住我的登录”复选框,它会自动登录已登录的用户。
谢谢
我是 Symfony 的新手,我正在尝试了解如何制作一个好的登录表单。就我现在所了解的,当我调用“isValid()”方法时,我正在检查表单提交的数据是否与底层对象(即登录对象)的属性一致。
现在,这意味着表单字段和对象属性之间的绝对相等,这是我的问题的核心:
如果我想使用与任何登录对象属性都不匹配的字段怎么办?例如“记住我的登录”复选框,它会自动登录已登录的用户。
谢谢
在您的表单构建器中,您可以添加一个属性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")
),
)