Mam formularz z kilkoma polami. Mam oddzielne sprawdzanie poprawności dla każdego pola, wykonane za pomocą walidacji formularzy. Muszę jednak również sprawdzić, czy kilka pól jest wypełnionych przed przekierowaniem użytkownika do innego widoku. Miałem nadzieję, że uda mi się jakoś dopisać błąd do forms.non_field_errors, ponieważ nie jest on dla konkretnego pola, ale nie jestem pewien, jaka byłaby właściwa składnia tego. Sprawdziłem w Internecie i znalazłem ..Jak dołączyć komunikat o błędzie do formularza.non_field_errors w django?
form.errors['__all__'] = form.error_class(["error msg"])
Spowoduje to wyświetlenie komunikatu o błędzie, ale wydaje się bałagan innych stron, jak również i displyas komunikat o błędzie, jeśli kliknę na cokolwiek innego.
Próbowałem
form._errors[NON_FIELD_ERRORS] = form.error_class()
Powoduje Object 'NoneType' nie ma atrybutu 'setDefault' błędu dla mnie.
Próbowałem
form.non_field_errors().append("Please complete your profile in order to access the content.")
To nie wydaje się zrobić wszystko i nie mogę zobaczyć komunikat o błędzie na widoku.
Jaki byłby najlepszy sposób na zrobienie tego? Idealnie nie chcę tego robić w czystej formie formularza. Czuję, że powinienem być w stanie dołączyć błąd do formularza w widoku.
Wiem, że mogę to zrobić w metodzie Form.clean().Jednak wolałbym zrobić to w widoku i tylko dołączyć błąd do listy form.errors, czy to w ogóle możliwe? – Angela
No tak, jest to możliwe, moja odpowiedź to potwierdza :) – jpic
Dziękuję jpic za szczegółową odpowiedź. Wypróbuję ten kod i wrócę. Przepraszam za spóźnioną odpowiedź, byłem na wyjeździe na wakacje. – Angela