2012-12-09 26 views
6

मैं एक परियोजना के शुरू में हूँ और मैं कुछ बुनियादी कार्यशीलता बना लिया है एक कस्टम कॉलबैक सत्यापनकर्ता (मान्य करता है की समाप्ति तिथि आरंभ तिथि के बाद) भी शामिल है। मैंने तब से अनुवाद सक्षम करने के लिए refactoring शुरू कर दिया है। मैंने अब तक कोई समस्या नहीं है ... जब तक कि मैंने अपनी कस्टम कॉलबैक सत्यापन का अनुवाद करना शुरू नहीं किया।मैं Symfony2 कॉलबैक मान्यता त्रुटि संदेश पर अनुवाद कैसे सक्षम करूं?

मैं एक पोस्ट ऑनलाइन है कि दावा किया है कि मैं अपने त्रुटि संदेश के रूप में मेरे अनुवाद कुंजी मान डाल सकता है और Symfony स्वचालित रूप से अनुवाद कर देगा पढ़ा ... लेकिन यह मेरे लिए मामला है प्रतीत नहीं होता। क्या कोई मुझे बता सकता है कि मेरे कस्टम सत्यापन में अनुवाद सक्षम करने के लिए, दस्तावेज़ीकरण का लिंक कैसे प्रदान करें या प्रदान करें?

यहाँ अनुवाद कुंजी के साथ अपने मौजूदा सत्यापन कोड शामिल है:

<?php 
namespace CG5\BFG\CoreBundle\Validators; 

use Symfony\Component\Validator\ExecutionContext; 

class EndDateValidator 
{ 
    static public function isEndDateValid($entity, ExecutionContext $context) 
    { 
     if ($entity->getEndDate() <= $entity->getStartDate()) 
      $context->addViolationAtSubPath('endDate', 'validation.invalid.enddate', array(), null); 
    } 
} 

उत्तर

7

मैं एक ही समस्या मिला है। symfony2 उन संदेशों के लिए "प्रमाणकों" सूची में लग रहा है, क्योंकि आपको लगता है कि सूची में भी अपने कस्टम त्रुटि संदेश पर रखना होगा। उदाहरण के लिए ऐप/संसाधन/अनुवाद/validators.en.yml के तहत।

आप इसे काम करने के लिए कैश को साफ़ करने की जरूरत है।

+0

हाँ, कि है: डी, ​​और कैश कई बार 'साफ कर दिया सत्यापन: अमान्य: ENDDATE: अंतिम दिनांक होना चाहिए के बाद प्रारंभ Date' – Chris

+0

अनुवाद फ़ाइल है" एप्लिकेशन/संसाधन/अनुवाद/validators.en .yml ", यह मेरे जवाब में गलत था। क्या आपके पास उस फ़ाइल में आपके अनुवाद हैं? मैं अपनी इकाई पर एक विधि का उपयोग कर रहा हूँ। क्या आपने कोशिश की? http://symfony.com/doc/2.0/reference/constraints/Callback.html -> पहली विधि – vincecore

+0

मैं अपने कॉलबैक (स्थिर समारोह) के लिए वहाँ सूचीबद्ध 2 विधि क्योंकि मैं चाहता हूँ इस मान्यता का उपयोग कर रहा करने के लिए लागू करने के लिए सभी मेरी संस्थाएं जिनकी शुरुआत/समाप्ति तिथि है। मेरे संदेशों.en.yml को validators.en.yml पर कॉपी करने के बाद यह काम करना शुरू कर देता है। Validators.en.yml का सुझाव देने के लिए बहुत बहुत धन्यवाद। मुझे यह नहीं लगता कि दस्तावेज़ पृष्ठ पर उल्लेख किया गया है, इसलिए इसे जानने के लिए धन्यवाद: डी – Chris