问题描述
最近我开始通过视频教程和文档学习 Symfony 5。当我使用表单构建器创建表单时,我希望自动填充 slug 字段,但为此我需要从中删除 required 属性。问题是,将 required=>false
发送给构建器不会改变任何东西。我什至尝试为所有字段设置 required=>false
但没有运气。当我转储我返回的内容时,我确实得到了一个包含我传递的值的数组,但它不会生效。
我在互联网上搜索,向我的朋友寻求帮助,但我没有想法。你能帮我解决这个问题吗?
这是代码,如果您需要更多,我可以提供更多。提前致谢。
class AdType extends AbstractType
{
/**
* Permet d'avoir la configuration de base d'un champ !
*
* @param string $label
* @param string $placeholder
* @param array $options
* @return array
*/
private function getConfiguration($label,$placeholder,$options = []) {
return array_merge_recursive([
'label' => $label,'attr' => [
'placeholder' => $placeholder,]
],$options);
}
public function buildForm(FormBuilderInterface $builder,array $options)
{
$builder
->add('title',TextType::class,$this->getConfiguration("Titre","Tapez un super titre pour votre annonce"))
->add(
'slug',$this->getConfiguration("Adresse web","Tapez l'adresse web (automatique)"),[
'required' => false,]
)
->add('coverImage',UrlType::class,$this->getConfiguration("URL de l'image principale","Donnez l'adresse d'une image qui donne vraiment envie"))
->add('introduction',$this->getConfiguration("Introduction","Donnez une description globale de l'annonce"))
->add('content',TextareaType::class,$this->getConfiguration("Description détaillée","Tapez une description qui donne vraiment envie de venir chez vous"))
->add('rooms',IntegerType::class,$this->getConfiguration("Nombre de chambres","Le nombre de chambres disponibles"))
->add('price',MoneyType::class,$this->getConfiguration("Prix par nuit","Indiquez le prix que vous voulez pour une nuit"))
->add(
'images',CollectionType::class,[
'entry_type' => ImageType::class,'allow_add' => true
]
)
;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)