을 translation_domain를 주입 어디 심포니 2. 유효성 검사 오류로 의 다른 번역 도메인에 번역 된 형태의 구성 요소를 사용하여 양식을 작성, 나는 (translation_domain) 옵션으로이 정보를 삽입 할 양식을 만드는 동안 올바른 위치를 찾지 못했습니다. 어디에서 설정해야합니까? 힌트가 있습니까?Symfony2는 : 양식의 구성 요소
양식 정보를 묶는 데 사용자 정의 유형을 사용합니다.
내 사용자 정의 유형 클래스 : 컨트롤러에서 양식 작성에
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()
)
);