From 90e8d04813bb8e7cbcce0cc95da6631b09c0a4cf Mon Sep 17 00:00:00 2001 From: Sayyid Hamid Mahdavi Date: Wed, 18 Nov 2020 12:28:29 +0330 Subject: [PATCH] validate phone number for iran in serializer --- apps/users/serializers.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/users/serializers.py b/apps/users/serializers.py index 74c948f..e42c1c3 100644 --- a/apps/users/serializers.py +++ b/apps/users/serializers.py @@ -1,9 +1,13 @@ +from django.core.validators import RegexValidator from rest_framework import serializers from apps.users.models import User from django.utils import timezone +from django.utils.translation import gettext_lazy as _ - +phone_number_validator = RegexValidator(regex=r'^\+98\d{10,10}$', message=_( + "Phone number must be entered in the format: '+989999999999'." + ),) class PublicUserSerializer(serializers.ModelSerializer): class Meta: model = User @@ -12,6 +16,7 @@ class PublicUserSerializer(serializers.ModelSerializer): class AccountSerializer(serializers.ModelSerializer): + phone_number = serializers.CharField(validators=[phone_number_validator]) class Meta: model = User fields = ( @@ -38,7 +43,7 @@ class AccountSerializer(serializers.ModelSerializer): class RequestOTPSerializer(serializers.ModelSerializer): - phone_number = serializers.CharField(required=True) + phone_number = serializers.CharField(required=True, validators=[phone_number_validator]) ttl = serializers.SerializerMethodField() class Meta: @@ -80,7 +85,7 @@ class RequestOTPSerializer(serializers.ModelSerializer): class UserInquirySerializer(serializers.ModelSerializer): - phone_number = serializers.CharField(required=True) + phone_number = serializers.CharField(required=True, validators=[phone_number_validator]) class Meta: model = User