Tôi có một biểu mẫu với nhiều trường. Tôi có các kiểm tra xác thực riêng cho mỗi trường, được thực hiện thông qua xác nhận biểu mẫu. Tuy nhiên, tôi cũng cần phải kiểm tra xem có ít trường được điền vào trước khi chuyển hướng người dùng đến một chế độ xem khác không. Tôi đã hy vọng tôi bằng cách nào đó có thể thêm lỗi để forms.non_field_errors vì nó không phải là cho một lĩnh vực cụ thể, nhưng tôi không chắc chắn cú pháp đúng cho điều này sẽ được. Tôi đã kiểm tra trực tuyến và tìm thấy ..Cách thêm thông báo lỗi vào form.non_field_errors bằng django?
form.errors['__all__'] = form.error_class(["error msg"])
Điều này sẽ hiển thị thông báo lỗi, nhưng có vẻ như làm lộn xộn các trang khác và bỏ qua thông báo lỗi nếu tôi nhấp vào bất kỳ điều gì khác.
tôi đã cố gắng
form._errors[NON_FIELD_ERRORS] = form.error_class()
Điều này làm cho đối tượng một 'NoneType' không có thuộc tính lỗi 'setdefault' cho tôi.
Tôi đã thử
form.non_field_errors().append("Please complete your profile in order to access the content.")
này dường như không làm gì cả và tôi không thể nhìn thấy thông báo lỗi trên xem.
Cách tốt nhất để làm điều này là gì? Lý tưởng nhất là tôi không muốn làm điều đó trong phương thức sạch của form. Tôi cảm thấy mình có thể thêm lỗi vào biểu mẫu trong chế độ xem.
Tôi biết tôi có thể làm điều đó trong phương thức Form.clean().Tuy nhiên tôi muốn làm điều đó trong quan điểm và chỉ cần thêm một lỗi vào danh sách form.errors, là điều này có thể ở tất cả? – Angela
Vâng vâng nó có thể câu trả lời của tôi chứng minh nó :) – jpic
Cảm ơn jpic cho câu trả lời chi tiết của bạn. Tôi sẽ thử đoạn mã này và quay lại. Xin lỗi vì câu trả lời muộn, tôi đã đi nghỉ mát. – Angela