Skip to content

Commit 24ebf46

Browse files
committed
- feat: add method for validations of email and username
1 parent d24d6f9 commit 24ebf46

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

api/authentication/serializers/register.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,20 @@ class Meta:
1313
model = User
1414
fields = ["id", "username", "password", "email", "is_active", "date"]
1515

16-
def create(self, validated_data):
16+
def validate_username(self, value):
17+
try:
18+
User.objects.get(username=value)
19+
except ObjectDoesNotExist:
20+
return value
21+
raise ValidationError({"success": False, "msg": "Username already taken."})
1722

23+
def validate_email(self, value):
1824
try:
19-
User.objects.get(email=validated_data["email"])
25+
User.objects.get(email=value)
2026
except ObjectDoesNotExist:
21-
return User.objects.create_user(**validated_data)
27+
return value
28+
raise ValidationError({"success": False, "msg": "Email already taken."})
29+
30+
def create(self, validated_data):
2231

23-
raise ValidationError({"success": False, "msg": "Email already taken"})
32+
return User.objects.create_user(**validated_data)

0 commit comments

Comments
 (0)