2012-09-11 13 views
9

validation.yml लोड करने के लिए कैसे जब Symfony2 के सत्यापन प्रलेखन निम्नलिखित (http://symfony.com/doc/current/book/validation.html) लेखक अक्सरSymfony2

src/Acme/BlogBundle/Resources/config/validation.yml

मैं भी को संदर्भित करता है इस फ़ाइल को उचित स्थान पर (मेरे बंडल नाम और विक्रेता के लिए लेखांकन) है लेकिन इसे पूरी तरह से अनदेखा किया जाता है।

क्या मुझे इसे कहीं से लोड करने की आवश्यकता है?

उत्तर

6

आपको इसे अपनी एक्सटेंशन फ़ाइल src/Acme/BlogBundle/DependencyInjection/AcmeBlogExtension.php में लोड करने की आवश्यकता है।

public function load(array $configs, ContainerBuilder $container) 
{ 
    //... 
    $yamlMappingFiles = $container->getParameter('validator.mapping.loader.yaml_files_loader.mapping_files'); 
    $yamlMappingFiles[] = __DIR__.'/../Resources/config/validation.yml'; 
    $container->setParameter('validator.mapping.loader.yaml_files_loader.mapping_files', $yamlMappingFiles); 
} 
+5

धन्यवाद! आपको यह सूचना कहां मिली। क्योंकि मुझे गंदे किए बिना सुरक्षा और रूटिंग फ़ाइलों को जोड़ने के साथ एक ही समस्या थी, मेरे वैश्विक ऐप/कॉन्फ़िगरेशन – peterrus

+0

में सही जवाब @Alberto Gaona से है। – Andrew

+0

पेटेरस, कृपया इस पर सबसे अच्छा जवाब न दें, लेकिन @ अल्बर्टो-गोना में से एक पर विचार करें। –

27

आपको validation.yml प्रोग्रामेटिकल को लोड करने की आवश्यकता नहीं है। आप सत्यापन को सक्षम करने और एनोटेशन को अक्षम करने के लिए config.yml को संशोधित करें:

framework: 
    validation:  { enabled: true, enable_annotations: false } 
+0

यह सही तरीका है, मानते हुए कि आप सम्मेलन का पालन करते हैं और संसाधन/config/validation.yml फ़ाइल को अपने बंडल (सिम्फनी 2.3) में बनाते हैं। कुंजी यह है कि आपको एनोटेशन अक्षम करना होगा, जो डिफ़ॉल्ट रूप से सक्षम हैं। – Andrew

+2

क्या होगा यदि मैं दोनों का उपयोग करना चाहता हूं? मैं हर जगह एनोटेशन का उपयोग कर रहा हूं लेकिन मुझे FOS_User सत्यापन को ओवरराइट करने की आवश्यकता है। validation.xml काम करता है लेकिन validation.yml – gondo

+0

क्या आपने ऐप/संसाधन/FOSUserBundle/config/validation.xml के साथ प्रयास किया था? –