我有一对多关系的用户和消息。
在为Message创建表单时,我希望将user字段设置为字符串,以便可以输入用户的名称而不是他的id。我将$ userName添加到消息类,我不会持久但需要验证它,检索正确的id并在表单验证期间设置用户。由于在实体中使用entitymanager是个坏主意,我认为这个验证和用户设置应该在控制器中进行。
我的问题是:如何从控制器设置表单错误,我这样做了吗?有什么提示吗?
由于
答案 0 :(得分:1)
请注意任何可能感兴趣的人:
use Symfony\Component\Form\FormError;
$field = $form->get('receiverName');
$field = $field->addError(new FormError('User dose not exist'));
我在控制器中进行验证并设置错误。
答案 1 :(得分:0)
是的,您可以这样做,因为如果您尝试使用实体字段,如果您有许多用户,则可能会出现性能问题... 另一种解决方案是在表单上使用监听器......看看Symfony如何制作表单安全性令牌。
要设置表单错误,很容易:$ form-> addError(new FormError(“Message”));
的问候。 ÿ