2016-03-31 12 views
0

FormType seçeneğinizde 'error_bubbling' => false ayarını yapmazsanız varsayılan olarak "bubbling" yerine global FormType hatalarını "damlatmak" mümkün olsaydı harika bir hal alıyordum ayarlar).Symfony 2.6'daki belirli bir form alanına genel FormType hatalarını ekleme

İşte bunun için ihtiyacım olan şey. Girişimden birinde sınıf düzeyinde bir doğrulayıcı var. Doğrulayıcı, gönderilen form verilerinin geçerli olduğundan emin olmak için bazı karmaşık kontroller yapar. Bütün varlık nesnesine erişmesi gerekiyor. Ancak, doğrulama geçmezse, yalnızca global düzeyde değil, aynı zamanda belirli bir alana da hatayı eklemek istiyorum.

Başka bir özellik düzeyi doğrulayıcı oluşturmayı ve ardından söz konusu mülke iliştirmeyi düşündüm. Bu doğrulama aracı, yalnızca global doğrulama geçmezse hata yapmalıdır.

Entity: 
    constraints: 
     - GlobalValidator: ~ 
    properties:    
     property: 
      - ValidWhenOtherValid: GlobalValidator 

Ancak bu Symofny en formu bileşeninde mümkün görünmüyor: Bu bahsettiğim mantıktır.

Basit bir şekilde sormak gerekirse, sınıf düzeyindeki hataları 'özellik' ('hata-damlama' ve 'hata-bubbling') için "damlamak" mümkün müdür? Örnek orada bulunmaktadır $this->context->buildViolation($constraint->message) ->atPath('foo') ->addViolation();

: gibi sadece atPath yöntemi kullanmak şimdi ve sonrasında yaptıkları gibi

cevap

İlgili konular