2024-03-04 02:12:18 +00:00
|
|
|
|
# coding=utf-8
|
|
|
|
|
|
"""
|
|
|
|
|
|
@project: maxkb
|
|
|
|
|
|
@Author:虎
|
|
|
|
|
|
@file: field_message.py
|
|
|
|
|
|
@date:2024/3/1 14:30
|
|
|
|
|
|
@desc:
|
|
|
|
|
|
"""
|
2025-01-13 03:15:51 +00:00
|
|
|
|
from django.utils.functional import lazy
|
|
|
|
|
|
from rest_framework import serializers
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def value_(field, value):
|
|
|
|
|
|
return f"【{field}】 {value}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def reset_messages(field, messages):
|
|
|
|
|
|
return {key: lazy(value_, str)(field, messages.get(key)) for key in messages}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def reset_message_by_field(field_text, field):
|
|
|
|
|
|
return reset_messages(field_text, {**field.default_error_messages, **field.__bases__[0].default_error_messages})
|
2024-03-04 02:12:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ErrMessage:
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def char(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_message_by_field(field, serializers.CharField)
|
2024-03-04 02:12:18 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def uuid(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.UUIDField.default_error_messages)
|
2024-03-04 02:12:18 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def integer(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.IntegerField.default_error_messages)
|
2024-03-04 02:12:18 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def list(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.ListField.default_error_messages)
|
2024-03-04 02:12:18 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def boolean(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.BooleanField.default_error_messages)
|
2024-03-04 02:12:18 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def dict(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.DictField.default_error_messages)
|
2024-03-04 02:12:18 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def float(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.FloatField.default_error_messages)
|
2024-03-04 02:12:18 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def json(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.JSONField.default_error_messages)
|
2024-03-04 02:12:18 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def base(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.Field.default_error_messages)
|
2024-03-28 08:06:54 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def date(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.DateField.default_error_messages)
|
2024-04-23 11:03:34 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def image(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.ImageField.default_error_messages)
|
2024-05-23 10:57:49 +00:00
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def file(field: str):
|
2025-01-13 03:15:51 +00:00
|
|
|
|
return reset_messages(field, serializers.FileField.default_error_messages)
|