filter: 一个php回调函数定义一个filter. 他可能是一个全局函数的名字, 一个匿名函数等等. 函数的原型一定是<?php function ($value) { return $newValue; } ?>这个属性必须设置.
skipOnArray: 当输入只是一个数组的时候是否跳过.默认是 false. 请注意,如果过滤器无法处理数组输入,您应该将此属性设置为true。否则,可能会发生一些PHP错误.
小提示: 去空格直接用trim验证.
小提示: 部分封装可以直接使用系统函数如intval:
<?php ['property', 'filter', 'filter' => 'boolval'], ['property', 'filter', 'filter' => 'intval'], ?>
11. image 图片
<?php [ // 检查 "primaryImage" 是否是一个有效的图片 且大小合适 ['primaryImage', 'image', 'extensions' => 'png, jpg', 'minWidth' => 100, 'maxWidth' => 1000, 'minHeight' => 100, 'maxHeight' => 1000, ], ] ?>
文件验证器的扩展:
minWidth: 最小的宽度 不设无限制.
maxWidth: 最大的宽度 不设无限制.
minHeight: 最小的高度 不设无限制.
maxHeight: 最大的高度 不设无限制.
12. in 在那一个数组里面的值
<?php [ // 检查 "level" 是 1, 2 或 3 ['level', 'in', 'range' => [1, 2, 3]], ] ?>
检查输入的值是否存在于给定的系列值的列表中.
range: 给定范围值的列表.
strict: 输入值和给定值之间的比较结果是否应严格(的类型和值必须相同)。默认为false。
not: 验证结果是否应该被反转。默认为false。当此属性设置为true,验证检查,输入的值不能是给定列表的值中.
allowArray: 是否允许输入值是一个数组。如果这是真的,并输入值是一个数组,数组中的每个元素必须值的给定列表中找到,或验证会失败。
13. integer 整型验证
<?php [ // 检查 "age" 是一个整型值 ['age', 'integer'], ] ?>
max: 上限 不设不检查.
min: 下限 不设不检查..
14. match 正则匹配检查
<?php [ // 检查 "username" 以字母开头,并且只包含文字字符 ['username', 'match', 'pattern' => '/^[a-z]\w*$/i'] ] ?>
输入值指定的正则表达式匹配验证检查.
pattern: 输入值必须匹配的规则. 属性必须设置,否则将会抛出异常.
not: 是否反转验证结果. 默认 false.
15. number 数字检查
<?php [ // 检查 "salary" 是一个数字 ['salary', 'number'], ] ?>
相当于double验证器.
max: 上限 不设不检查.
min: 下限 不设不检查.
16. required 是否为空检查
<?php [ // 检查 "username" 和 "password" 不是空的 [['username', 'password'], 'required'], ] ?>
该验证器阻止用户提交空的表单数据.
requiredValue: 应该输入的值. 如果未设 意味着输入值 不应该为空.
strict: 验证一个值时是否应该检查数据类型. 默认false.当 requiredValue未设置时,如果这个属性是 true, 验证器会检查输入值不严格null;如果改属性false,验证器将使用一个松散的规则来确定一个值是空的或不. 当 requiredValue设置了,输入和requiredValue之间的比较也将检查数据类型,如果此属性为true。
17. safe 标记输入是安全属性
<?php [ // 标记 "description" 是一个 safe 的属性 ['description', 'safe'], ] ?>
这个验证器不会执行数据验证.相反, 它是用来标记的属性是一个安全属性(我猜作用是不会进行字符转义吧)。
18. string 字符串验证
<?php [ // 检查 "username"是一个 string 而且长度在 4 和 24 之间 ['username', 'string', 'length' => [4, 24]], ] ?>
这个验证器检查输入的值是一个字符串且长度在确定的值的范围里。
length: 指定待验证的字符串的长度. 可以指定以下形式:
一个整数: 字符串的精确长度;
单个数组元素: 输入的最小长度 (e.g. [8]). 必须超过或等于这个数
两个数组元素: 输入的最小长度和最大长度 (e.g. [8, 128]).
min: 输入字符串的最小长度 未设不限制.
max: 输入字符串的最大长度 未设不限制..
encoding: 输入字符串的编码 未设默认 UTF-8.
19. trim 去空格
<?php [ // 去掉 "username" 和 "email" 两边的空格 [['username', 'email'], 'trim'], ] ?>
不进行数据验证 只进行去空格 如果属性是一个数组 将会自动忽略此过滤.
20. unique 唯一性验证