Form

OneDayDev·2023년 12월 28일
0

Django

목록 보기
7/14

django.forms.form과 django.forms.ModelForm 클래스에는 is_valid() 함수를 이용해 유효성 검사를 한다.
유효성 검사를 진행하기 위해 cleaning method를 사용하고 cleaning method는 일반적으로 폼에서 is_valid()를 사용한다. 유효성 검사에 문제가 있을 경우 ValidationError가 발생한다.

clean()가 to_python(), validate(), run_validators() 순서로 실행하고 에러 발생하면 ValidationError를 일으킨다. clean()은 clean data를 리턴하고 폼의 cleaned_data dictionary에 clean data를 넣는다.

is_valid() 함수가 호출하는 메소드 순서

  • form.errors()
  • form.full_clean()
    • form.cleaned_data 생성
    • form._clean_fields()
      • field.clean() : 여러 폼 필드에 대한 유효성 검사
      • form.clean<field명>() : 하나의 field 값에 대한 유효성 검사
    • form._clean_form()
      • form.clean()
    • form._post_clean()

https://docs.djangoproject.com/en/5.0/topics/forms/modelforms/

profile
안녕하세요.

0개의 댓글