开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 33

潘志群/码多多 全能知识库(Python 版)

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (2)
标签 (3)
master
develop
1.0.2
1.0.1
1.0.0
master
分支 (2)
标签 (3)
master
develop
1.0.2
1.0.1
1.0.0
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (2)
标签 (3)
master
develop
1.0.2
1.0.1
1.0.0
ai-python
/
server
/
kernels
/
validator.py
ai-python
/
server
/
kernels
/
validator.py
validator.py 5.40 KB
一键复制 编辑 原始数据 按行查看 历史
zero 提交于 2025年05月26日 15:35 +08:00 . init
# +----------------------------------------------------------------------
# | ChatWork智能聊天办公系统
# +----------------------------------------------------------------------
# | 软件声明: 本系统并非自由软件,未经授权任何形式的商业使用均属非法。
# | 版权保护: 任何企业和个人不允许对程序代码以任何形式任何目的复制/分发。
# | 授权要求: 如有商业使用需求,请务必先与版权所有者取得联系并获得正式授权。
# +----------------------------------------------------------------------
# | Author: ChatWork Team <2474369941@qq.com>
# +----------------------------------------------------------------------
from typing import Dict, List
__all__ = ["CustomValidate"]
class CustomValidate:
def __init__(self, messages: Dict[str, str], model_fields: Dict[str, object]):
self.messages: dict = messages
self.model_fields: dict = model_fields
def format_error(self, errors: Dict[str, any]) -> List[Dict[str, any]]:
"""
将错误字典格式化为带有自定义错误描述信息的列表。
Args:
errors (Dict[str, any]): 包含错误信息的字典。
type: str: 示例: string_too_short
loc: tuple: 示例: ("body", "username")
msg: str: 示例: "String should have at least 2 characters"
input: str: 示例: "admin"
ctx: dict: 示例: {"min_length": 2}
Returns:
List[Dict[str, any]]: 包含格式化后错误信息的字典列表。
Author zero
"""
loc: tuple = errors.get("loc")
rules: dict = errors.get("ctx")
types: str = errors.get("type")
field: str = loc[1] if len(loc) >= 2 else loc[0]
# 返回指定错误描述
key = list(rules.keys())[0] if rules else types
if self.messages.get(f"{field}.{key}"):
errors["err"] = self.messages.get(f"{field}.{key}")
return [errors]
# 使用描述覆盖字段
remark = field
nature = self.model_fields.get(field)
if nature and nature.json_schema_extra and nature.json_schema_extra.get("label"):
label = nature.json_schema_extra.get("label")
if isinstance(label, bool):
description = self.model_fields.get(field).description
remark = description if description else field
else:
remark = label
# 使用多语言转换
error_rule_msg = self.languages().get(key)
if error_rule_msg:
error_rule_msg = error_rule_msg.replace(":attribute", remark)
if rules and rules.get(key) is not None:
error_rule_msg = error_rule_msg.replace(":rule", str(rules.get(key)))
errors["err"] = error_rule_msg
return [errors]
@staticmethod
def languages():
_lang = {
"en-us": {
"missing": ":attribute require",
"pattern": ":attribute should match pattern `:rule`",
"float_parsing": ":attribute must be a valid number",
"int_from_float": ":attribute must be a valid integer",
"int_parsing": ":attribute must be a valid integer",
"string_type": ":attribute must be a valid string",
"max_length": ":attribute should have at least :rule characters",
"min_length": ":attribute should have at most :rule characters",
"gt": ":attribute must greater than :rule",
"lt": ":attribute must less than :rule",
"ge": ":attribute must be greater than or equal to :rule",
"le": ":attribute must be less than or equal to :rule",
"multiple_of": ":attribute must be a multiple of :rule",
"max_digits": ":attribute decimal input should have no more than :rule digits in total",
"decimal_places": ":attribute decimal input should have no more than :rule decimal places",
"whole_digits": ":attribute Decimal input should have no more than :rule digit before the decimal point"
},
"zh-cn": {
"missing": ":attribute 字段必填",
"pattern": ":attribute 不匹配模式规则 `:rule`",
"float_parsing": ":attribute 必须是有效的数字",
"int_from_float": ":attribute 必须是有效的整数",
"int_parsing": ":attribute 必须是有效的整数",
"string_type": ":attribute 必须是有效的字符串",
"max_length": ":attribute 不能超过 :rule 个字符",
"min_length": ":attribute 不能小于 :rule 个字符",
"gt": ":attribute 必须大于 :rule",
"lt": ":attribute 必须小于 :rule",
"ge": ":attribute 必须大于或等于 :rule",
"le": ":attribute 必须小于或等于 :rule",
"multiple_of": ":attribute 必须是的 :rule 倍数",
"max_digits": ":attribute 十进制输入的总位数不能超过 :rule 位",
"decimal_places": ":attribute 十进制输入的小数位数不能超过 :rule 位",
"whole_digits": ":attribute 输入的小数点前面的位数不能超过 :rule 位"
},
"ja-jp": {
}
}
return _lang.get("zh-cn", _lang.get("en-us"))
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

🤖🤖🤖码多多全开源全能 AI知识库 python 版,支持导入数据完成向量化训练后,用户提问即可进行向量化搜索,并且结合大语言模型进行AI回答,可以提升AI回答的专业性和实用性。
暂无标签
Apache-2.0
使用 Apache-2.0 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/pan_codee/ai-python.git
git@gitee.com:pan_codee/ai-python.git
pan_codee
ai-python
码多多 全能知识库(Python 版)
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /