#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2025/3/15 21:24 # @Author : AngesZhu # @File : unique_rules.py # @Desc : 校验字段在列表中是否为唯一 from typing import Any, List from utils.validation_error_utils import handle_validation_errors, UniqueFieldError def validate_unique(value: Any, field: str, existing_values: List[Any]) -> bool: """ 校验字段在列表中是否为唯一 :param value: 字段值 :param field: 字段名称 :param existing_values: 已存在的值列表 :return: 是否通过校验 :raises UniqueFieldError: 如果字段值已存在 """ with handle_validation_errors(field, {"value": value, "existing_values": existing_values}): if value in existing_values: raise UniqueFieldError(f"字段 '{field}' 的值 '{value}' 必须是唯一的", field) return True