Tôi có tình huống sau đây:Symfony2: Làm thế nào để sửa đổi một giá trị hình thức trước khi xác nhận
- một loại trường mẫu
date
- một mẫu xác nhận như
dd.mm.YYYY
- một đối tượng helper có thể biến
12
vào12.07.2012
hoặc2.5
vào02.05.2012
v.v.
Câu hỏi của tôi là: Tôi gọi phương thức chuyển đổi giá trị đầu vào ở đâu?
Khi tôi gọi từ số set
-method của thực thể, giá trị thực sự bị thay đổi. Nhưng khi tải lại biểu mẫu (ví dụ: không gửi đầy đủ) giá trị cũ (như 2.5
) và không thay đổi giá trị (2.5.2012
) được hiển thị. Bây giờ, làm thế nào để tôi nói với biểu mẫu, rằng giá trị đã thay đổi trong thực thể?
Có lẽ đó cũng là một cách khác để làm việc đó ở giữa:
$form->bindRequest($request);
// do some fancy stuff here
if ($form->isValid()) {}
PHP
Đây là từ Entity:
/**
* @ORM\Column(type="datetime", nullable=true)
* @Assert\DateTime()
*/
protected $date_start;
Đây là từ Nhập:
$builder->add('date_start', 'datetime', array(
'label' => 'Start Datum/Uhrzeit',
'date_widget' => 'single_text',
'time_widget' => 'single_text',
'date_format' => 'dd.MM.yyyy',
'with_seconds' => false,
'required' => false,
));
Tôi đã đăng câu trả lời dưới đây nhưng nếu bạn cần thêm chi tiết, vui lòng đăng mã cho loại biểu mẫu của bạn và mô hình và tôi có thể cụ thể hơn. – MDrollette