मैं एक रूप प्रपत्र घटक Symfony 2. सत्यापन त्रुटियों के रूप में की अलग अनुवाद डोमेन में अनुवाद किया जाता है का उपयोग कर बनाने के लिए, मैं एक विकल्प के रूप में इस जानकारी इंजेक्षन करना चाहते हैं (translation_domain) फॉर्म के निर्माण के दौरान, लेकिन सही (सफल) जगह नहीं कहां सेट करें ... कोई संकेत?Symfony2: जहां फार्म में translation_domain सुई घटक
मैं अपने फॉर्म सूचनाओं को बंडल करने के लिए एक कस्टम प्रकार का उपयोग करता हूं।
मेरे कस्टम प्रकार वर्ग:
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Validator\Constraints\Collection;
use Symfony\Component\Validator\Constraints\NotBlank;
class LoginType extends AbstractType
{
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$collectionConstraint = $collectionConstraint = new Collection(array(
'password' => array(new NotBlank(array('message' => 'custom.error.blank'))),
'username' => array(new NotBlank(array('message' => 'custom.error.blank')))
));
$resolver->setDefaults(array(
'constraints' => $collectionConstraint
));
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('username', 'text', array(
'max_length' => 250,
'trim' => true
));
$builder->add('password', 'password', array(
'max_length' => 250,
'trim' => true
));
}
public function getName()
{
return 'login';
}
}
प्रासंगिक कोड नियंत्रक में प्रपत्र निर्माण पर स्निपेट:
$loginForm = $this->createForm(new LoginType(), $loginDefaultData);
$loginForm->bind($request);
[...]
return $this->render(
'MyBundle:SubFolder:login.html.twig',
array(
'loginForm' => $loginForm->createView()
)
);