Tôi có một biểu mẫu để tạo một thực thể mới. Thực thể đó có một tập hợp các thực thể khác cũng được nhập vào biểu mẫu đó.Symfony2 + Doctrine - Xác thực một bộ sưu tập các thực thể
Tôi muốn sử dụng các tùy chọn xác thực của thực thể trong bộ sưu tập để xác thực các thực thể đó nhưng nó không hoạt động. Các quy tắc xác thực của thực thể "chính" (Người) được chọn, nhưng các quy tắc xác nhận của các thực thể trong bộ sưu tập addressList
(Địa chỉ) không được chọn. Khi tôi nhập thông tin không hợp lệ vào các trường, biểu mẫu đã gửi được xác thực thành công.
Trong ví dụ này, chú thích cho đường phố không được sử dụng để xác thực.
class Person
{
...
/**
* @ORM\OneToMany(targetEntity="Address", mappedBy="owner", cascade={"persist", "detach"})
*/
protected $addressList;
....
}
class Address
{
...
/**
* @ORM\ManyToOne(targetEntity="Person", inversedBy="addressList")
* @ORM\JoinColumn(name="person_id", referencedColumnName="id", onDelete="CASCADE")
*/
protected $owner;
/**
* @ORM\Column(type="string", length=75)
* @Assert\MinLength(
* limit=3,
* message="Street must have atleast {{ limit }} characters."
*)
*/
protected $street;
...
}
Tôi có thể lấy biểu mẫu để xác thực các thực thể Địa chỉ được cung cấp như thế nào?
tôi cố định này bằng cách thêm ' 'cascade_validation' => true' đến các mảng của' getDefaultOptions() 'của PersonType. – Bramklg