๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ฝ”๋”ฉ๊ณต๋ถ€/Django

DRF Serializer๋ฅผ ํ†ตํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

by Dong_Devlog 2022. 12. 21.

๐Ÿ” Serializer๋ฅผ ํ†ตํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

 

 

๐Ÿ“Œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ •๊ทœ ํ‘œํ˜„์‹

 

์ด๋ฉ”์ผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

import re

def is_email_valid(email):
    REGEX_EMAIL = '([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+'
    if not re.fullmatch(REGEX_EMAIL, email):
        return "์ด๋ฉ”์ผ ํ˜•์‹์„ ํ™•์ธํ•˜์„ธ์š”."

 

๋น„๋ฐ€๋ฒˆํ˜ธ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

def is_password_valid(password):
    REGEX_PASSWORD = '^(?=.*[\d])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*()])[\w\d!@#$%^&*()]{8,}$'
    if not re.fullmatch(REGEX_PASSWORD, password):
        return "๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ์ตœ์†Œ 1๊ฐœ ์ด์ƒ์˜ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ์ˆซ์ž, ํŠน์ˆ˜๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•˜๋ฉฐ ๊ธธ์ด๋Š” 8์ž๋ฆฌ ์ด์ƒ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค."

 

URL ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

def is_url_valid(url):
    REGEX_URL = '[(http(s)?):\/\/(www\.)?a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}([-a-zA-Z0-9@:%_\+.~#?&//=]*)'
    if not re.fullmatch(REGEX_URL, url):
        raise ValidationError("INVALID_URL")

๋Œ“๊ธ€