Tôi có một biểu mẫu hoạt động hoàn hảo cho đến khi tôi chuyển biểu mẫu thành method="get"
. Bây giờ tôi không thể nhận được form_validation->run()
để đánh giá TRUE.Làm cách nào để xác thực trường biểu mẫu trong Codeigniter khi sử dụng Nhận thông số?
Đây là cách tôi mở biểu mẫu:
echo form_open('', array('method' => 'get'));
Đây là mảnh duy nhất cần để xác nhận:
$this->form_validation->set_rules('states', 'states', 'required');
Đây là cách tôi kiểm tra để xem nếu các hình thức được xác nhận:
if($this->form_validation->run() == FALSE)
Có điều gì khác tôi cần làm để sử dụng Nhận thông số không? Tôi đã nhận được các thông số được bật trong cấu hình ($config['allow_get_array'] = TRUE;
). Các hình thức hoạt động ok nếu tôi bỏ qua xác nhận, vì vậy tôi biết hệ thống CI đang đọc url tốt.
Chỉ cần bước vào và làm xác nhận của riêng bạn trên các yêu cầu GET. XSS có thể được quan tâm ở mức thấp nhất với htmlspecialchars (GET, ENT_QUOTES, 'encoding') tùy thuộc vào dữ liệu được xuất ra. Xác nhận biểu mẫu chỉ là trợ giúp. Làm việc ra cấu trúc ứng dụng của bạn trước khi bàn tay, xem những gì CI có thể cung cấp liên quan đến người giúp việc/thư viện và sau đó khuôn công việc của riêng bạn. – Philip
FYI ... Xác thực biểu mẫu Codeigniter sẽ thất bại nếu có tham số GET trong URI của trang đang chạy xác thực biểu mẫu trên các tham số POST. –