[英]Custom form type symfony
我需要在Symfony中設置一個自定義表單類型,該類型將選擇類型用作父類型,但實際上不需要預先加載選擇。 就像我希望能夠用ajax調用填充select,然后使用調用中的選項之一提交而不會得到This value is not valid.
錯誤,大概是因為它不是預加載的選項之一。
我不需要自定義數據轉換器,因為我通過捆綁控制器執行此操作,我只需要Symfony在提交最初不在列表中的選項時不要抱怨。 到目前為止,這是我的自定義表單類型:
<?php
namespace ISFP\Index\IndexBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class NullEntityType extends AbstractType
{
public function getDefaultOptions(array $options)
{
$defaultOptions = array(
'em' => null,
'class' => null,
'property' => null,
);
$options = array_replace($defaultOptions, $options);
return $options;
}
public function getParent()
{
return 'choice';
}
public function getName()
{
return 'null_entity';
}
}
杜德看着EntityType
時有一個父項choice
。 但是整個顯示都是由ChoiceType
處理的。 當我做類似的事情時,我從重載ChoiceType
和EntityType
。 然后在重載的實體中設置getParent()
來挖掘重載的選擇。
最終,在我的情況下,我修改了新的choice
並在其中放置了嵌入的表單。 做到這一點很棘手。 並且它消耗大量時間。
但是使用這種方法,我對驗證沒有任何問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.