Data validations
IT-HONGREAT opened this issue · comments
In Yeong Hong commented
유효성 검증이란?
데이터가 입력 될 때 정해진 틀과 양식을 지켜야한다.
-
두 가지 방식이 존재함
- field를 정의 할 때 필요한 옵션을 달아주기
- validator 를 추가하기
-
(참고)null VS blank 의 차이
- null : 빈 값을 null로 저장하는 것을 허용
- blank : 문자열기반의 필드에서 True 로 하면 빈 문자열이 저장된다.
Validator (유효성검사기의 역할)
임의의 값을 받아서 내부의 기준을 충족하지 않으면 Validation Error를 발생시키는 함수이다.
django에서 제공하는 bulit-in validator 공식문서 및 참고
Validators | Django documentation | Django
- django.core.validators 를 불러와서 원하는 필드에 validators옵션을 추가해준다.
- 실행후 정상적으로 에러메세지를 볼 수 있다.
Writing validator
-
django 의 bulit in 이 아닌, 직접 validators 파일을 만들고 함수를 생성해서, 조건문을 통과함에 따라 에러를 발생시켜준다
공식문서 상단에 친절하게 코드 양식까지 잘 나와있다.
위의 사진에서 보면 content 칸에 아무 텍스트나 넣을 수 있게 되어있다.
이 부분에 숫자만 입력하지 않게 하고 싶지않았다.(내가 귀찮으면 숫자만 대충 입력하기 때문에)
직접 validator를 만들어 보고 싶기도 했고, 감성분석(자연어)에 활용 가능한 내용 일 수 도 있기에 파일생성.
validators 파일을 만들고 django.core.exceptions 의 ValidationError를 불러온다.
맨 처음 코딩하며 알고리즘 문제 풀 때 사용한 isdigit함수를 사용해봤다. 그리고 에러메세지를 입력해줬다.
- 파일의 함수를 import 하고, 아까 작성한 validators의 옵션으로 추가해준다.
- 정상적으로 에러가 raise 되었다.
In Yeong Hong commented
End issue.