2013-11-27 12 views
5

ile ilişkilendirmek hataları ben bileşik ve gerçek olarak ayarlanmış inherit_data seçenekleri ile gömülü bir formu var.Symfony2'nin bileşik formu, tarlalar

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder->setErrorBubbling(false); 

    $builder->add('date_start', 'date', array(
     'label'    => 'form.date_start.label', 
     'widget'   => 'single_text', 
     'required'   => false, 
     'group'    => ['event', 'dates'] 
    )); 

    $builder->add('date_end', 'date', array(
     'label'    => 'form.date_end.label', 
     'widget'   => 'single_text', 
     'required'   => false, 
     'group'    => ['event', 'dates'] 
    )); 

    $builder->add('time_zone', 'alternate_timezone', [ 
     'label'    => 'form.timezone.label', 
     'field_help'  => 'form.timezone.help', 
     'empty_value'  => 'form.timezone.empty_value', 
     'required'   => false, 
     'group'    => ['event', 'dates'] 
    ]); 
} 

/** 
* {@inheritdoc} 
*/ 
public function setDefaultOptions(OptionsResolverInterface $resolver) 
{ 
    $resolver->setDefaults([ 
     'label'  => false, 
     'compound'  => true, 
     'inherit_data' => true 
    ]); 
} 

Hataları alanımla ilişkilendiremiyorum. Bu formun hataları, alanında değil, ebeveyn formunda görüntülenir. Ben formu bileşik olmadığı sürece yanlış olabilir error_bubbling, doc gördük.

bir bileşik formu ile çözüm nedir

, hatalar alanla ilişkili olduğu?

Symfony'de bileşik formları ile size

+0

Ben devralınan benim şeklinde bir alanla bu sorunu var. Doğrulama rutinlerimde devralınan formun adını hedefleyemiyorum. Hata her zaman kök formuna kadar kabarcıklar. Benim için değiştirilen error_bubbling veya diğer ayarların hiçbir miktarı işe yaramadı. – lifo

cevap

-1

ederiz - Eğer bir bileşik bir ilişkide her bir taraf için doğrulama kısıtlamaları tanımlayabilir ve doğrulama işlemi sırasında üretilen hatalar hata meydana kalıp elemanları yakınındaki/üzerinde görüntülenir.

Örneğin - Eğer form ile gönderilen örneği "ExampleEntity" varlık bağlı olduğu takdirde - Eğer Paketin validation.yml o varlık için doğrulama kısıtlamaları tanımlayabilirsiniz. Herhangi doğrulama hataları yan kendi çocuk formunda birlikte görüntülenir - hatta doğrulama hataları birden çocuk formlarda ortaya çıkabilir koleksiyonlarında.

Örnek src/MyBundle/Kaynaklar/Yapılandırma/validation.yml

App\MyBundle\Entity\ExampleEntity: 
     properties: 
      date_start: 
       - NotBlank: 
        message: Date start cannot be blank. 
      date_end: 
       - NotBlank: 
        message: Date end field cannot be blank. 
      time_zone: 
       - NotBlank: 
        message: Timezone cannot be blank.