我正在尝试为帐户模型自定义DRF(3.x)的默认验证错误。
我的目标是编写一个验证函数,以便发送定制的错误消息。
我尝试了以下内容:
class AccountSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True, required=False)
class Meta:
model = Account
fields = ('id', 'email', 'password',)
def validate_password(self, value):
"""
Validate Password.
"""
if not value:
raise serializers.ValidationError("Password cannot be empty!")
elif len(value) < 5:
raise serializers.ValidationError("Password to short...")
return value
长度验证可以正常工作,但是“密码为空”的验证从未被触发,因为默认错误('password',[u'此字段不能为空。'])会先被抛出。
有没有选项可以禁用默认错误或强制使用自定义函数进行验证?
谢谢帮助!