Yii核心验证器api详解

2019-05-02 12:13:23丽君

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'],
]
?>

不进行数据验证 只进行去空格 如果属性是一个数组 将会自动忽略此过滤.

相关文章 大家在看