Tôi đang viết lớp CAPTCHA của riêng mình và khi biểu mẫu không xác thực, tôi không muốn điền trước hình ảnh xác thực bằng câu trả lời trước đó, vì lý do hiển nhiên. Tôi chỉ muốn rõ ràng đầu vào trước khi nó được hiển thị.Cách xóa giá trị trường bằng biểu mẫu Symfony2
Tôi đã phát hiện ra tùy chọn dữ liệu chỉ dành cho giá trị mặc định, được ghi đè bởi những gì người dùng nhập. Tôi đã thử các mã sau:
$form->get('captcha')->setData(null);
.. Sau khi yêu cầu được ràng buộc với các hình thức, nhưng một AlreadyBoundException
được ném. Tôi đã thực sự quản lý để làm cho nó hoạt động với:
if (isset($formView->children['captcha'])) {
$formView->children['captcha']->vars['value'] = null;
}
Nhưng điều đó có vẻ sai và chắc chắn không đạt tiêu chuẩn của Symfony. Tôi đã xem xét các tùy chọn khác mà bạn có thể cung cấp khi tạo biểu mẫu, nhưng tôi không thể thấy bất kỳ lưu ý nào.
Có ai có ý tưởng nào không?
Nhân tiện, tôi hy vọng một nửa Symfony2 được đóng gói cùng với giải pháp CAPTCHA, đây chủ yếu là một bài tập học tập trong khi tôi quen với khung công tác.
Làm cách nào để bạn tạo biểu mẫu của mình? Trực tiếp trong bộ điều khiển của bạn? Bạn đang sử dụng fullstack hay chỉ là thành phần biểu mẫu? – Schwierig
Tôi có toàn bộ ứng dụng Symfony. Biểu mẫu có lớp riêng của nó, mở rộng AbstractType, xử lý thêm từng trường. – Adam
Bạn có thể đăng mã Loại của bạn không? – Schwierig