boa框架开发手册v5.2

自动验证

当你访问一个请求变量时,系统会自动按动作名加载验证配置文件,以变量名为键名检索对应验证规则,按条件的定义顺序依次执行

配置文件

配置文件命名规则:模块/variable/控制器/动作.php ,一个完整的配置文件示例:


return [
	'username' => [
		'label' => '用户名',
		'check' => 'required&is_name',
		'filter' => 'htmlspecialchars'
	],

	'password' => [
		'label' => '密码',
		'chars' => '>=6 & <=16',
		'equal' => 'repass'
	],

	'age' => [
		'label' => 'home.user.age', //也可以使用语言标签
		'filter' => 'intval',
		'value' => '>=18'
	],

	'skill' => [
		'label' => '技能',
		'items' => '>2&<6'
	]
]
	

逻辑运算符

  • |:条件或(OR)
  • &:条件与(AND)

比如:a&b|c&d|e 等于:(a AND b) OR (c AND d) OR e

算术运算符

  • >:大于
  • <:小于
  • >=:大于等于
  • <=:小于等于
  • =:等于
  • !=:不等于
  • <>:不等于

label

标签名,支持语言标签(如:a.b.c),ajax中会返回给前端

chars

字符数,支持|和&,验证字符长度,对于数组则逐项验证

value

数值,支持|和&,验证值大小,对于数组则逐项验证

items

选择项,支持|和&,验证多选项选中数目

equal

值等于,验证值是否等于指定字段值,多用于密码重复验证

check

检查器,支持&,用检查器中方法检查变量,对于数组则逐项验证

默认检查器位置:boa/validater/checker.php,您也可以创建一个继承默认检查器的自定义检查器,比如:mod/home/validater/checker.php,系统优先使用自定义检查器

filter

过滤器,支持&,用PHP函数过滤器中方法过滤变量,对于数组则逐项过滤,返回处理后的结果

默认过滤器位置:boa/validater/filter.php,您也可以创建一个继承默认过滤器的自定义过滤器,比如:mod/home/validater/filter.php,系统优先使用自定义过滤器

如果未定义过滤器,则使用系统过滤器:FILTER;如果定义过滤器为空值,也会覆盖FILTER的定义

如果过滤器定义在其他规则前,则会先过滤,再对过滤结果执行验证