px普贤教程PuXian
普贤教程 › 包参考

validator 包

0.2.0 —— 字段校验(增强版)

项值
包名validator
版本0.2.0
可用版本0.1.0 / 0.2.0
入口validator.px
分类标识、校验与版本
文件数 / 行数1 / 374

安装与引入

bash
pxpkg init          # 首次
pxpkg add validator@0.2.0
pxpkg install
px
import validator
所属分类教程:标识、校验与版本

公开接口

函数参数
val_validatedata, rules
其余 23 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
val_requiredv
val_emailv
val_minv, n
val_maxv, n
val_int_rangev, a, b
val_urlv
val_phonev
val_ipv4v
val_ipv6v
val_ipv
val_uuidv
val_alphav
val_numericv
val_alnumv
val_credit_cardv
val_starts_withv, prefix
val_ends_withv, suffix
val_containsv, sub
val_datev
val_datetimev
val_split_rulesrs
tmpl_find_vs, sub, from_idx
val_check_fieldname, value, rules

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/validator 0.2.0 —— 字段校验(增强版)
------------------------------------------------------------
纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。
对齐 Go go-playground/validator 心智:
val_validate(data, rules) → Ok(null) | Err("field1: 消息; field2: 消息")
rules = {"field": "rule1|rule2|..."}(| 分隔或 [rule1, rule2])

0.2.0 新增规则:
url                    HTTP(S) URL 格式
phone                  中国手机号格式(1[3-9]xxxxxxxxx)
ip                     IPv4 或 IPv6 地址
ipv4                   仅 IPv4
ipv6                   仅 IPv6
uuid                   UUID 格式(v1-v5 形态,含/不含连字符)
alpha                  纯字母(含中文)
numeric                纯数字字符
alnum                  字母 + 数字
regex=pattern          自定义正则完整匹配
credit_card            Luhn 校验(信用卡号)
starts_with=prefix     前缀匹配
ends_with=suffix       后缀匹配
contains=substr        包含子串
not_in=a,b,c           不在列表中
date                   日期格式 YYYY-MM-DD
datetime               日期时间格式 YYYY-MM-DD HH:MM:SS
============================================================