2014-12-07 28 views
12

Tôi có kiểu biểu mẫu sau được thiết lập trong Symfony2 và tôi đang cố gắng thêm giá trị mặc định vào dateField nhưng dường như không làm cho nó hoạt động.Đặt giá trị mặc định trên biến áp giá trị biểu mẫu trong Symfony2

Trong "Đã thử 1" bên dưới tôi nhận được "Dữ liệu chế độ xem của biểu mẫu được dự kiến ​​là một phiên bản của lớp DateTime, nhưng là một chuỗi (n)" ... câu đố của tôi một chút bởi vì nếu tôi đưa ra chuỗi nó cho tôi biết nó cần phải là một đối tượng DateTime, và trong "Tried 2" nó chạy mà không có lỗi nhưng không có giá trị mặc định nào được thay đổi. Hiện tại, biểu mẫu mặc định là '-0001-11-30 00:00:00'. Có cách nào để thiết lập các giá trị mặc định như thế này không?

$builder 
     ->add(
      $builder->create('dateField', 'hidden')->addViewTransformer(new DateTimeToStringTransformer()) 
     ) 
     ->add('field2', 'hidden') 
     ->add('field3', 'hidden') 
     ->add('submit', 'submit') 
     ->getForm(); 

Cố gắng 1:

->add($builder->create('boutDate', 'hidden', array('data' => new \DateTime()))->addViewTransformer(new DateTimeToStringTransformer())) 

thử 2:

->add(
    $builder->create('boutDate', 'hidden')->addViewTransformer(new DateTimeToStringTransformer()), 
     'hidden', 
     array('data' => '2014-01-02') 
) 

Trả lời

9

Bạn không cần phải sử dụng máy biến áp. Chỉ cần đặt giá trị mặc định chuỗi

$builder 
     ->add($builder->create('boutDate', 'hidden', array('data' => '2014-01-02'))) 
     ->add('field2', 'hidden') 
     ->add('field3', 'hidden') 
     ->add('submit', 'submit') 
     ->getForm(); 
Các vấn đề liên quan