nonebot.command.argfilter.validators 1.2.0+
提供几种常用的验证器。
这些验证器的工厂函数全都接受可选参数 message: Message_T | None,用于在验证失败时向用户发送错误提示。使用这些的验证器时,必须先调用验证器的工厂函数,其返回结果才是真正的验证器,例如:
session.get('arg1', prompt='请输入 arg1:',
arg_filters=[extract_text, not_empty('输入不能为空')])
1
2
2
注意 extract_text 和 not_empty 使用上的区别。
def not_empty(message=None)
说明
验证输入不为空。
参数
message
返回
def fit_size(min_length=0, max_length=None, message=None)
说明
验证输入的长度(大小)在
min_length到max_length之间(包括两者)。输入和输出应符合
Sized类型。参数
min_length(int): 最小长度max_length(int): 最大长度message: 验证失败时的提示
返回
def match_regex(pattern, message=None, *, flags=0, fullmatch=False)
说明
验证输入是否匹配正则表达式。
输入和输出应符合
str类型。参数
pattern(str): 正则表达式message: 验证失败时的提示flags: 传入re.compile()的标志fullmatch(bool): 是否使用完全匹配(re.fullmatch())
返回
def ensure_true(bool_func, message=None)
说明
验证输入是否能使给定布尔函数返回
True。参数
bool_func((Any) -> bool): 接受输入、返回布尔值的函数message: 验证失败时的提示
返回
def between_inclusive(start=None, end=None, message=None)
说明
验证输入是否在
start到end之间(包括两者)。输入和输出应符合
Comparable类型。参数
start: 范围开始end: 范围结束message: 验证失败时的提示
返回