नियंत्रकSymfony2 सत्यापन काम नहीं करता है जब इकाई रिश्ते/संघों
public function indexAction(Request $request)
{
$user = $this->container->get('security.context')->getToken()->getUser();
$owner = $user->getId();
$first = new First();
$first->setOwner($owner);
$second = new Second();
$second->setOwner($owner);
$second->setFirst($first);
$form = $this->createForm(new SecondType(), $second);
if ($request->getMethod() == 'POST') {
$form->bindRequest($request);
if ($form->isValid()) {
$em = $this->get('doctrine')->getEntityManager();
$em->persist($first);
$em->persist($second);
$em->flush();
}
}
return $this->render('MySampleBundle:Home:index.html.twig', array(
'form' => $form->createView(),
));
}
ORM YAML
My\SampleBundle\Entity\First:
type: entity
table: first
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
title:
type: string
date_created:
type: datetime
date_edited:
type: datetime
owner:
type: integer
lifecycleCallbacks:
prePersist: [ prePersist ]
preUpdate: [ preUpdate ]
oneToMany:
reviews:
targetEntity: Second
mappedBy: review
My\SampleBundle\Entity\Second:
type: entity
table: second
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
review:
type: string
date_created:
type: datetime
date_edited:
type: datetime
owner:
type: integer
lifecycleCallbacks:
prePersist: [ prePersist ]
preUpdate: [ preUpdate ]
manyToOne:
first:
targetEntity: First
inversedBy: reviews
joinColumn:
name: first_id
referencedColumnName: id
फार्म/प्रकार
class FirstType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('title', 'text');
}
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'My\SampleBundle\Entity\First',
);
}
public function getName()
{
return 'first';
}
}
class SecondType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('first', new FirstType());
$builder->add('review', 'textarea');
}
public function getName()
{
return 'second';
}
}
Validation.yml
My\SampleBundle\Entity\First:
properties:
title:
- NotBlank: ~
- MinLength: 2
My\SampleBundle\Entity\Second:
properties:
review:
- NotBlank: ~
- MinLength: 14
बनाया गया फॉर्म सामान्य रूप से काम करता है। हालांकि, केवल सत्यापन सामान्य रूप से काम नहीं करता है।
यदि यह व्यक्तिगत रूप से प्रदर्शन करता है, तो सत्यापन सामान्य रूप से काम करेगा।
$form = $this->createForm(new FirstType(), $first);
हालांकि, अगर यह एक इकाई रिश्ते/संघों राज्य में है, पहले मान्यता पहले के शीर्षक संपत्ति एक चरित्र में work.The नहीं होगा पंजीकृत किया जाएगा।
मैं इसे प्राप्त करने के लिए कैसे प्रबंधित कर सकता हूं?
पर्यावरण Symfony 2.1.2 है: आप इसे साथ ही मान्य बनाने के लिए
first
मैदान परValid
constraint डाल करने के लिए की जरूरत है। – JIGENबस symfony2.1 पर टैग किया गया है, अगर आपको –