Tôi có một kiểu trường lựa chọn có tên * sub_choice * trong biểu mẫu của tôi mà các lựa chọn của bạn sẽ được tải động qua AJAX tùy thuộc vào giá trị được chọn của trường lựa chọn cha mẹ, có tên * parent_choice *. Tải các lựa chọn hoạt động hoàn hảo nhưng tôi gặp phải một vấn đề khi xác nhận giá trị của sub_choice khi gửi. Nó cung cấp một lỗi xác thực "Giá trị này không hợp lệ" vì giá trị đã gửi không nằm trong lựa chọn của trường sub_choice khi nó được xây dựng. Vì vậy, có cách nào tôi có thể xác nhận hợp lệ giá trị đã gửi của trường sub_choice không? Dưới đây là mã để tạo biểu mẫu của tôi. Tôi đang sử dụng Symfony 2.1.Xác nhận các lựa chọn được nạp động trong Symfony 2
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('parent_choice', 'entity', array(
'label' => 'Parent Choice',
'class' => 'Acme\TestBundle\Entity\ParentChoice'
));
$builder->add('sub_choice', 'choice', array(
'label' => 'Sub Choice',
'choices' => array(),
'virtual' => true
));
}
bạn có may mắn với điều này không? im bị mắc kẹt trên một cái gì đó tương tự. –
Một liên kết câu hỏi tương tự gần đây với câu hỏi này và một trong các câu trả lời có vẻ khá tốt, liên quan đến việc sử dụng sự kiện PRE_BIND để sắp xếp danh sách tùy chọn hợp lệ: http://stackoverflow.com/questions/18207476/symfony2- dynamic-form-choices-validation-remove – frumious
đây là phiên bản có bất kỳ giá trị nào chấp nhận http://stackoverflow.com/questions/28245027/symfony-2-choice-ajax-validation-fix –