Как изменить сообщение об ошибке EmailValidator
models.py
class User(AbstractBaseUser):
email = models.EmailField(
verbose_name='Email',
max_length=255,
unique=True,
error_messages={'msg':"Enter a valid Email Address"},
)
name = models.CharField(max_length=200)
phone_number= models.CharField(max_length=200, blank=True)
address= models.CharField(max_length=200, blank=True)
tc = models.BooleanField()
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
objects = UserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['name', 'tc']
serializer.py
class UserRegistrationSerializer(serializers.ModelSerializer):
# We are writing this becoz we need confirm password field in our Registratin Request
password2 = serializers.CharField(style={'input_type':'password'}, write_only=True)
class Meta:
model = User
fields=['email', 'name' ,'phone_number', 'address','password', 'password2','tc' ]
extra_kwargs={
'password':{'write_only':True},
}
def validate(self, attrs):
password = attrs.get('password')
password2 = attrs.get('password2')
if password != password2:
raise serializers.ValidationError("Password and Confirm Password doesn't match")
return attrs
def create(self, validate_data):
return User.objects.create_user(**validate_data)
Вывод, который я получаю, когда ввожу неверный email id
{
"email": [
"Enter a valid email address."
]
}
Ожидаемый результат
{
"msg": "Enter a valid email address."
}
Я использовал error_message в моделях, чтобы получить нужный вывод, а также использовал EmailValidator(message="")
, но ничего не работает.
Я пытался использовать def clean_email
в serializers.py, но это тоже не сработало. пожалуйста, помогите