类验证
验证类。用于验证模型数据
提供不同的验证方法。
常量
-
string
COMPARE_EQUAL ¶'=='
等于比较运算符。
-
string
COMPARE_GREATER ¶'>'
大于比较运算符。
-
string
COMPARE_GREATER_OR_EQUAL ¶'>='
大于或等于比较运算符。
-
string
COMPARE_LESS ¶'<'
小于比较运算符。
-
string
COMPARE_LESS_OR_EQUAL ¶'<='
小于或等于比较运算符。
-
string
COMPARE_NOT_EQUAL ¶'!='
不等于比较运算符。
-
string
COMPARE_NOT_SAME ¶'!=='
不等于比较运算符。
-
string
COMPARE_SAME ¶'==='
等于比较运算符。
-
list<string>
COMPARE_STRING ¶[self::COMPARE_EQUAL, self::COMPARE_NOT_EQUAL, self::COMPARE_SAME, self::COMPARE_NOT_SAME]
-
string
DATETIME_ISO8601 ¶'iso8601'
Datetime ISO8601 格式
-
string
DEFAULT_LOCALE ¶'en_US'
默认语言环境
属性摘要
方法摘要
-
_check() protected static
运行正则表达式匹配。
-
_getDateString() protected static
将表示日期或日期时间的数组转换为 ISO 字符串。这些数组通常是从 CakePHP FormHelper 生成的表单发送用于验证的。
-
_populateIp() protected static
延迟填充用于验证的 IP 地址模式
-
_reset() protected static
重置另一个验证运行的内部变量。
-
alphaNumeric() public static
检查字符串是否只包含整数或字母。
-
ascii() public static
检查输入值是否在 ASCII 字节范围内。
-
asciiAlphaNumeric() public static
检查字符串是否只包含 ASCII 整数或字母。
-
boolean() public static
验证传入的值是否为布尔值。
-
checkEnum() protected static
-
compareFields() public static
将一个字段与另一个字段进行比较。
-
compareWith() public static
将一个字段与另一个字段进行比较。
-
comparison() public static
用于比较两个数值。
-
creditCard() public static
信用卡号码的验证。如果 $check 处于正确的信用卡格式,则返回 true。
-
custom() public static
当需要自定义正则表达式时使用。
-
date() public static
日期验证,确定传入的字符串是否为有效日期。预期完整月份、日期和年份的键将验证闰年。
-
datetime() public static
验证日期时间值
-
decimal() public static
检查值是否为有效的十进制数。符号和指数都是可选的。
-
email() public static
验证电子邮件地址。
-
enum() public static
检查值是否为有效的支持的枚举实例或值。
-
enumExcept() public static
检查值是否为有效的支持的枚举实例或值。
-
enumOnly() public static
检查值是否为有效的支持的枚举实例或值。
-
equalTo() public static
检查值是否正好等于 $comparedTo。
-
extension() public static
检查值是否具有有效的文件扩展名。
-
falsey() public static
验证给定值是否为假值。
-
fileSize() public static
检查文件大小
-
geoCoordinate() public static
验证地理坐标。
-
getFilename() protected static
用于读取文件名的助手。
-
hexColor() public static
检查输入值是否为 6 位十六进制颜色。
-
iban() public static
检查输入值是否具有有效的国际银行帐号 (IBAN) 语法。要求是大写,无空格,最大长度 34,国家代码和校验和位于正确位置,主体通过 Mod97-10 算法与校验和匹配
-
imageHeight() public static
验证图像高度。
-
imageSize() public static
验证上传图像的大小。
-
imageWidth() public static
验证图像宽度。
-
inList() public static
检查值是否在给定的列表中。默认情况下比较区分大小写。
-
ip() public static
IP 地址的验证。
-
isArray() public static
检查输入值是否为数组。
-
isInteger() public static
检查输入值是否为整数
-
isScalar() public static
检查输入值是否为标量。
-
isValidEnum() protected static
-
iso8601() public static
验证 ISO8601 日期时间格式。ISO8601 识别 2019 这样的日期时间作为有效日期。要验证和检查日期完整性,请使用 @see \Cake\Validation\Validation::datetime()
-
latitude() public static
用于纬度验证的便利方法。
-
lengthBetween() public static
检查字符串长度是否在指定的范围内。空格包含在字符计数中。如果字符串匹配值 min、max 或介于 min 和 max 之间,则返回 true。
-
localizedTime() public static
日期和/或时间字符串验证。使用
I18n::Time
解析日期。这意味着解析依赖于语言环境。 -
longitude() public static
用于经度验证的便利方法。
-
luhn() public static
Luhn 算法
-
maxLength() public static
检查字符串的长度(以字符为单位)是否小于或等于最大长度。
-
maxLengthBytes() public static
检查字符串的长度(以字节为单位)是否小于或等于最大长度。
-
mimeType() public static
检查文件的 MIME 类型。
-
minLength() public static
检查字符串(以字符为单位)的长度是否大于或等于最小长度。
-
minLengthBytes() public static
检查字符串(以字节为单位)的长度是否大于或等于最小长度。
-
money() public static
检查值是否为货币金额。
-
multiple() public static
验证多选。默认情况下,比较区分大小写。
-
naturalNumber() public static
检查值是否为自然数。
-
notAlphaNumeric() public static
检查值中是否不包含任何字母数字字符。
-
notAsciiAlphaNumeric() public static
检查值中是否不包含任何非 ASCII 字母数字字符。
-
notBlank() public static
检查字符串中是否包含除空格以外的其他字符。
-
numElements() public static
用于检查数组或 Countable 类型的值的计数。
-
numeric() public static
检查值是否为数字。
-
range() public static
验证数字是否在指定的范围内。
-
time() public static
时间验证,判断传入的字符串是否为有效时间。验证时间为 24 小时制 (HH:MM[:SS][.FFFFFF]) 或 上午/下午 ([H]H:MM[a|p]m)
-
truthy() public static
验证给定值是否为真值。
-
uploadError() public static
检查上传错误。
-
uploadedFile() public static
验证上传的文件。
-
url() public static
根据 https://www.w3.org/Addressing/URL/url-spec.txt 检查值是否为有效的 URL。
-
utf8() public static
检查输入值是否为 UTF8 字符串。
-
uuid() public static
检查值是否为有效的 UUID - https://tools.ietf.org/html/rfc4122
方法详情
_check() ¶ protected static
_check(mixed $check, string $regex): bool
运行正则表达式匹配。
参数
-
mixed
$check 要与 $regex 表达式进行比较的值。
-
string
$regex 正则表达式。
返回值
bool
_getDateString() ¶ protected static
_getDateString(array<string, mixed> $value): string
将表示日期或日期时间的数组转换为 ISO 字符串。这些数组通常是从 CakePHP FormHelper 生成的表单发送用于验证的。
参数
-
array<string, mixed>
$value 表示日期或日期时间的数组。
返回值
string
alphaNumeric() ¶ public static
alphaNumeric(mixed $check): bool
检查字符串是否只包含整数或字母。
此方法对字母和整数的定义包括 Unicode 字符。如果您想排除 Unicode,请使用 asciiAlphaNumeric()
。
参数
-
mixed
$check 要检查的值。
返回值
bool
ascii() ¶ public static
ascii(mixed $value): bool
检查输入值是否在 ASCII 字节范围内。
此方法将拒绝所有非字符串值。
参数
-
mixed
$value 要检查的值。
返回值
bool
asciiAlphaNumeric() ¶ public static
asciiAlphaNumeric(mixed $check): bool
检查字符串是否只包含 ASCII 整数或字母。
参数
-
mixed
$check 要检查的值。
返回值
bool
boolean() ¶ public static
boolean(mixed $check, array<string|int|bool> $booleanValues = [true, false, 0, 1, '0', '1']): bool
验证传入的值是否为布尔值。
被视为布尔值的值列表可以通过 $booleanValues 设置。
参数
-
mixed
$check 要检查的值。
-
array<string|int|bool>
$booleanValues optional 有效布尔值列表,默认为
[true, false, 0, 1, '0', '1']
。
返回值
bool
checkEnum() ¶ protected static
checkEnum(mixed $check, class-stringBackedEnum> $enumClassName, array<string, mixed> $options = []): bool
参数
-
mixed
$check -
class-stringBackedEnum>
$enumClassName -
array<string, mixed>
$options optional
返回值
bool
compareFields() ¶ public static
compareFields(mixed $check, string $field, string $operator, array<string, mixed> $context): bool
将一个字段与另一个字段进行比较。
如果比较与预期结果匹配,则返回 true。
参数
-
mixed
$check 要在 $field 中查找的值。
-
string
$field 要检查 $check 的字段。此字段必须存在于 $context 中。
-
string
$operator 比较运算符。请参阅 Validation::comparison()。
-
array<string, mixed>
$context 验证上下文。
返回值
bool
compareWith() ¶ public static
compareWith(mixed $check, string $field, array<string, mixed> $context): bool
将一个字段与另一个字段进行比较。
如果两个字段具有完全相同的值,则此方法将返回 true。
参数
-
mixed
$check 要在 $field 中查找的值。
-
string
$field 要检查 $check 的字段。此字段必须存在于 $context 中。
-
array<string, mixed>
$context 验证上下文。
返回值
bool
comparison() ¶ public static
comparison(mixed $check1, string $operator, mixed $check2): bool
用于比较两个数值。
参数
-
mixed
$check1 要比较的左侧值。
-
string
$operator 可以是以下运算符字符串之一:'>'、'<'、'>='、'<='、'=='、'!='、'===' 和 '!=='.您可以使用 Validation::COMPARE_* 常量之一。
-
mixed
$check2 要比较的右侧值。
返回值
bool
creditCard() ¶ public static
creditCard(mixed $check, list<string>|string $type = 'fast', bool $deep = false, string|null $regex = null): bool
信用卡号码的验证。如果 $check 处于正确的信用卡格式,则返回 true。
参数
-
mixed
$check 要验证的信用卡号码。
-
list<string>|string
$type optional 'all' 可以作为字符串传递,默认值为 fast,如果使用数组,则仅检查数组的值,如果使用数组,则仅检查数组的值。示例:['amex', 'bankcard', 'maestro']
-
bool
$deep optional 设置为 true 将检查信用卡的 Luhn 算法。
-
string|null
$regex optional 自定义正则表达式,将使用此表达式而不是定义的正则表达式值。
返回值
bool
另请参阅
custom() ¶ public static
custom(mixed $check, string|null $regex = null): bool
当需要自定义正则表达式时使用。
参数
-
mixed
$check 要检查的值。
-
string|null
$regex optional 如果 $check 作为字符串传递,则 $regex 也必须设置为有效的正则表达式。
返回值
bool
date() ¶ public static
date(mixed $check, list<string>|string $format = 'ymd', string|null $regex = null): bool
日期验证,确定传入的字符串是否为有效日期。预期完整月份、日期和年份的键将验证闰年。
年份有效范围为 0001 到 2999。
格式
dmy
27-12-2006 或 27-12-06 分隔符可以是空格、句点、破折号、斜杠。mdy
12-27-2006 或 12-27-06 分隔符可以是空格、句点、破折号、斜杠。ymd
2006-12-27 或 06-12-27 分隔符可以是空格、句点、破折号、斜杠。dMy
27 December 2006 或 27 Dec 2006Mdy
December 27, 2006 或 Dec 27, 2006 逗号可省略。My
December 2006 或 Dec 2006my
12/2006 或 12/06 分隔符可以是空格、句点、破折号、斜杠。ym
2006/12 或 06/12 分隔符可以是空格、句点、破折号、斜杠。y
2006 仅年份,不包含任何分隔符。
参数
-
mixed
$check 有效的日期字符串/对象。
-
list<string>|string
$format optional 使用字符串或上述键的数组。数组应作为 ['dmy', 'mdy', ...] 传递。
-
string|null
$regex optional 如果使用自定义正则表达式,则这是将执行的唯一验证。
返回值
bool
datetime() ¶ public static
datetime(mixed $check, array|string $dateFormat = 'ymd', string|null $regex = null): bool
验证日期时间值
所有与“date”核心验证规则和“time”规则匹配的值都将有效。
参数
-
mixed
$check 要检查的值。
-
array|string
$dateFormat optional 日期部分的格式。有关更多信息,请参阅 Validation::date()。或
Validation::DATETIME_ISO8601
以验证 ISO8601 日期时间值。-
string|null
$regex optional 日期部分的正则表达式。如果使用自定义正则表达式,则这是将执行的唯一验证。
返回值
bool
另请参阅
\Cake\Validation\Validation::time()
decimal() ¶ public static
decimal(mixed $check, int|true|null $places = null, string|null $regex = null): bool
检查值是否为有效的十进制数。符号和指数都是可选的。
请注意,当前设置的区域设置将用于确定给定数字的小数点和千位分隔符。
有效位数
- null => 任何数量的小数位,包括没有小数位。'.' 不需要。
- true => 任何大于 0 的小数位数,或浮点数|双精度数。'.' 是必需的。
- 1..N => 恰好有这么多小数位。'.' 是必需的。
参数
-
mixed
$check 用于测试小数的值。
-
int|true|null
$places 可选 小数位数。
-
string|null
$regex optional 如果使用自定义正则表达式,这将是唯一执行的验证。
返回值
bool
email() ¶ 公共 静态
email(mixed $check, bool $deep = false, string|null $regex = null): bool
验证电子邮件地址。
仅使用 getmxrr() 检查深度验证,或在非 Windows 发行版上的任何 PHP 版本
参数
-
mixed
$check 要检查的值。
-
bool
$deep optional 执行更深层的验证(如果为真),还检查主机可用性
-
string|null
$regex optional 要使用的正则表达式(如果没有,它将使用内置正则表达式)
返回值
bool
enum() ¶ 公共 静态
enum(mixed $check, class-stringBackedEnum> $enumClassName): bool
检查值是否为有效的支持的枚举实例或值。
参数
-
mixed
$check 要检查的值。
-
class-stringBackedEnum>
$enumClassName 有效的支持枚举类名
返回值
bool
enumExcept() ¶ 公共 静态
enumExcept(mixed $check, listBackedEnum> $cases): bool
检查值是否为有效的支持的枚举实例或值。
参数
-
mixed
$check 要检查的值。
-
listBackedEnum>
$cases 无效的枚举案例数组。
返回值
bool
enumOnly() ¶ 公共 静态
enumOnly(mixed $check, listBackedEnum> $cases): bool
检查值是否为有效的支持的枚举实例或值。
参数
-
mixed
$check 要检查的值。
-
listBackedEnum>
$cases 有效的枚举案例数组。
返回值
bool
equalTo() ¶ 公共 静态
equalTo(mixed $check, mixed $comparedTo): bool
检查值是否正好等于 $comparedTo。
参数
-
mixed
$check 要检查的值。
-
mixed
$comparedTo 要比较的值
返回值
bool
extension() ¶ 公共 静态
extension(mixed $check, list<string> $extensions = ['gif', 'jpeg', 'png', 'jpg']): bool
检查值是否具有有效的文件扩展名。
支持检查 \Psr\Http\Message\UploadedFileInterface
实例和带有 name
键的数组。
参数
-
mixed
$check 要检查的值。
-
list<string>
$extensions 可选 允许的文件扩展名。默认扩展名是 'gif'、'jpeg'、'png'、'jpg'
返回值
bool
falsey() ¶ 公共 静态
falsey(mixed $check, array<string|int|bool> $falseyValues = [false, 0, '0']): bool
验证给定值是否为假值。
被认为是假值的列表,可以通过 $falseyValues 设置。
参数
-
mixed
$check 要检查的值。
-
array<string|int|bool>
$falseyValues 可选 有效的假值列表,默认为
[false, 0, '0']
。
返回值
bool
fileSize() ¶ 公共 静态
fileSize(mixed $check, string $operator, string|int $size): bool
检查文件大小
将通过检查磁盘上的 filesize() 来检查文件/UploadedFileInterface 实例的文件大小,而不是依赖于客户端报告的长度。
参数
-
mixed
$check 要检查的值。
-
string
$operator 参见
Validation::comparison()
。-
string|int
$size 大小以字节或人类可读的字符串表示,例如 '5MB'。
返回值
bool
geoCoordinate() ¶ 公共 静态
geoCoordinate(mixed $value, array<string, mixed> $options = []): bool
验证地理坐标。
支持的格式
<latitude>, <longitude>
例如:-25.274398, 133.775136
选项
type
- 坐标格式的字符串,目前只有latLong
。format
- 默认情况下为both
,也可以是long
和lat
,以仅验证坐标的一部分。
参数
-
mixed
$value 地理位置作为字符串
-
array<string, mixed>
$options optional 用于验证逻辑的选项。
返回值
bool
getFilename() ¶ 受保护 静态
getFilename(mixed $check): string|null
用于读取文件名的助手。
参数
-
mixed
$check 要从中读取文件名的數據。
返回值
string|null
iban() ¶ 公共 静态
iban(mixed $check): bool
检查输入值是否具有有效的国际银行帐号 (IBAN) 语法。要求是大写,无空格,最大长度 34,国家代码和校验和位于正确位置,主体通过 Mod97-10 算法与校验和匹配
参数
-
mixed
$check 要检查的值。
返回值
bool
imageHeight() ¶ 公共 静态
imageHeight(mixed $file, string $operator, int $height): bool
验证图像高度。
参数
-
mixed
$file 来自 PHP 的上传文件数据。
-
string
$operator 比较运算符。
-
int
$height 最小或最大高度。
返回值
bool
imageSize() ¶ 公共 静态
imageSize(mixed $file, array<string, mixed> $options): bool
验证上传图像的大小。
参数
-
mixed
$file 来自 PHP 的上传文件数据。
-
array<string, mixed>
$options 用于验证宽度和高度的选项。
返回值
bool
抛出
InvalidArgumentException
imageWidth() ¶ 公共 静态
imageWidth(mixed $file, string $operator, int $width): bool
验证图像宽度。
参数
-
mixed
$file 来自 PHP 的上传文件数据。
-
string
$operator 比较运算符。
-
int
$width 最小或最大宽度。
返回值
bool
inList() ¶ 公共 静态
inList(mixed $check, list<string> $list, bool $caseInsensitive = false): bool
检查值是否在给定的列表中。默认情况下比较区分大小写。
参数
-
mixed
$check 要检查的值。
-
list<string>
$list 要检查的列表。
-
bool
$caseInsensitive 可选 设置为 true 以进行不区分大小写的比较。
返回值
bool
ip() ¶ 公共 静态
ip(mixed $check, string $type = 'both'): bool
IP 地址的验证。
参数
-
mixed
$check 要测试的字符串。
-
string
$type 可选 要验证的 IP 协议版本
返回值
bool
isInteger() ¶ 公共 静态
isInteger(mixed $value): bool
检查输入值是否为整数
此方法还将接受仅包含整数数据的字符串。
参数
-
mixed
$value 要检查的值。
返回值
bool
isScalar() ¶ 公共 静态
isScalar(mixed $value): bool
检查输入值是否为标量。
此方法将接受整数、浮点数、字符串和布尔值,但不接受数组、对象、资源和空值。
参数
-
mixed
$value 要检查的值。
返回值
bool
isValidEnum() ¶ 受保护 静态
isValidEnum(BackedEnum $enum, array<string, mixed> $options): bool
参数
-
BackedEnum
$enum -
array<string, mixed>
$options
返回值
bool
iso8601() ¶ 公共 静态
iso8601(mixed $check): bool
验证 ISO8601 日期时间格式。ISO8601 识别 2019 这样的日期时间作为有效日期。要验证和检查日期完整性,请使用 @see \Cake\Validation\Validation::datetime()
参数
-
mixed
$check 要检查的值。
返回值
bool
另请参阅
latitude() ¶ 公共 静态
latitude(mixed $value, array<string, mixed> $options = []): bool
用于纬度验证的便利方法。
参数
-
mixed
$value 纬度作为字符串
-
array<string, mixed>
$options optional 用于验证逻辑的选项。
返回值
bool
另请参阅
链接
lengthBetween() ¶ 公共 静态
lengthBetween(mixed $check, int $min, int $max): bool
检查字符串长度是否在指定的范围内。空格包含在字符计数中。如果字符串匹配值 min、max 或介于 min 和 max 之间,则返回 true。
参数
-
mixed
$check 要检查长度的值
-
int
$min 范围内的最小值(含)
-
int
$max 范围内的最大值(含)
返回值
bool
localizedTime() ¶ 公共 静态
localizedTime(mixed $check, string $type = 'datetime', string|int|null $format = null): bool
日期和/或时间字符串验证。使用 I18n::Time
解析日期。这意味着解析依赖于语言环境。
参数
-
mixed
$check 日期字符串或对象(始终通过)
-
string
$type 可选 解析器类型,'date'、'time' 和 'datetime' 之一
-
string|int|null
$format 可选 IntlDateFormatter 接受的任何格式
返回值
bool
抛出
InvalidArgumentException
当提供不支持的 $type 时
另请参阅
\Cake\I18n\Time::parseTime()
\Cake\I18n\Time::parseDateTime()
longitude() ¶ public static
longitude(mixed $value, array<string, mixed> $options = []): bool
用于经度验证的便利方法。
参数
-
mixed
$value 纬度作为字符串
-
array<string, mixed>
$options optional 用于验证逻辑的选项。
返回值
bool
另请参阅
链接
luhn() ¶ public static
luhn(mixed $check): bool
Luhn 算法
参数
-
mixed
$check 要检查的值。
返回值
bool
另请参阅
maxLength() ¶ public static
maxLength(mixed $check, int $max): bool
检查字符串的长度(以字符为单位)是否小于或等于最大长度。
参数
-
mixed
$check 要测试的字符串
-
int
$max 最大字符串长度
返回值
bool
maxLengthBytes() ¶ public static
maxLengthBytes(mixed $check, int $max): bool
检查字符串的长度(以字节为单位)是否小于或等于最大长度。
参数
-
mixed
$check 要测试的字符串
-
int
$max 最大字符串长度
返回值
bool
mimeType() ¶ public static
mimeType(mixed $check, array|string $mimeTypes = []): bool
检查文件的 MIME 类型。
通过使用文件上的 finfo 检查文件/UploadedFileInterface 实例的 mimetype,而不是依赖客户端发送的 content-type,来检查 mimetype。
参数
-
mixed
$check 要检查的值。
-
array|string
$mimeTypes optional 要检查的 mimetype 数组或正则表达式模式。
返回值
bool
抛出
Cake\Core\Exception\CakeException
当无法确定 mimetype 时。
minLength() ¶ public static
minLength(mixed $check, int $min): bool
检查字符串(以字符为单位)的长度是否大于或等于最小长度。
参数
-
mixed
$check 要测试的字符串
-
int
$min 最小字符串长度
返回值
bool
minLengthBytes() ¶ public static
minLengthBytes(mixed $check, int $min): bool
检查字符串(以字节为单位)的长度是否大于或等于最小长度。
参数
-
mixed
$check 要测试的字符串
-
int
$min 最小字符串长度(以字节为单位)
返回值
bool
money() ¶ public static
money(mixed $check, string $symbolPosition = 'left'): bool
检查值是否为货币金额。
参数
-
mixed
$check 要检查的值。
-
string
$symbolPosition optional 符号的位置(左/右)
返回值
bool
multiple() ¶ public static
multiple(mixed $check, array<string, mixed> $options = [], bool $caseInsensitive = false): bool
验证多选。默认情况下,比较区分大小写。
有效选项
- in => 提供一个选择列表,必须从这些选择中进行选择
- max => 可以做出的非零选择的最大数量
- min => 可以做出的非零选择的最小数量
参数
-
mixed
$check 要检查的值。
-
array<string, mixed>
$options optional 检查的选项。
-
bool
$caseInsensitive 可选 设置为 true 表示不区分大小写的比较。
返回值
bool
naturalNumber() ¶ public static
naturalNumber(mixed $check, bool $allowZero = false): bool
检查值是否为自然数。
参数
-
mixed
$check 要检查的值。
-
bool
$allowZero optional 设置为 true 表示允许零,默认为 false
返回值
bool
另请参阅
notAlphaNumeric() ¶ public static
notAlphaNumeric(mixed $check): bool
检查值中是否不包含任何字母数字字符。
此方法对字母和整数的定义包括 Unicode 字符。如果要排除仅 ASCII 字符,请使用 notAsciiAlphaNumeric()
。
参数
-
mixed
$check 要检查的值。
返回值
bool
notAsciiAlphaNumeric() ¶ public static
notAsciiAlphaNumeric(mixed $check): bool
检查值中是否不包含任何非 ASCII 字母数字字符。
参数
-
mixed
$check 要检查的值。
返回值
bool
notBlank() ¶ public static
notBlank(mixed $check): bool
检查字符串中是否包含除空格以外的其他字符。
如果字符串包含除空格以外的内容,则返回 true
参数
-
mixed
$check 要检查的值。
返回值
bool
numElements() ¶ public static
numElements(mixed $check, string $operator, int $expectedCount): bool
用于检查数组或 Countable 类型的值的计数。
参数
-
mixed
$check 要检查其计数的值。
-
string
$operator 可以是词语或操作数,大于 >,小于 <,大于或等于 >=,小于或等于 <=,小于 <,等于 ==,不等于 !=
-
int
$expectedCount 预期的计数值。
返回值
bool
range() ¶ public static
range(mixed $check, float|null $lower = null, float|null $upper = null): bool
验证数字是否在指定的范围内。
如果设置了 $lower 和 $upper,则范围是包含的。如果它们未设置,则如果 $check 是此平台上的合法有限值,则将返回 true。
参数
-
mixed
$check 要检查的值。
-
float|null
$lower optional 下限
-
float|null
$upper optional 上限
返回值
bool
time() ¶ public static
time(mixed $check): bool
时间验证,判断传入的字符串是否为有效时间。验证时间为 24 小时制 (HH:MM[:SS][.FFFFFF]) 或 上午/下午 ([H]H:MM[a|p]m)
秒和秒的小数部分(微秒)是允许的,但在 24 小时制中是可选的。
参数
-
mixed
$check 有效的日期时间字符串/对象
返回值
bool
truthy() ¶ public static
truthy(mixed $check, array<string|int|bool> $truthyValues = [true, 1, '1']): bool
验证给定值是否为真值。
被认为是真值的值列表可以通过 $truthyValues 设置。
参数
-
mixed
$check 要检查的值。
-
array<string|int|bool>
$truthyValues optional 有效真值列表,默认为
[true, 1, '1']
。
返回值
bool
uploadError() ¶ public static
uploadError(mixed $check, bool $allowNoFile = false): bool
检查上传错误。
支持检查 \Psr\Http\Message\UploadedFileInterface
实例和具有 error
键的数组。
参数
-
mixed
$check 要检查的值。
-
bool
$allowNoFile optional 设置为 true 表示允许 UPLOAD_ERR_NO_FILE 作为通过。
返回值
bool
另请参阅
uploadedFile() ¶ public static
uploadedFile(mixed $file, array<string, mixed> $options = []): bool
验证上传的文件。
有助于将 uploadError
、fileSize
和 mimeType
合并成一个更高层次的验证方法。
选项
types
- 有效的 mimetype 数组。如果为空,则所有类型都将被接受。不会查看type
,而是使用 ext/finfo 检查文件类型。minSize
- 最小文件大小(以字节为单位)。默认为不检查。maxSize
- 最大文件大小(以字节为单位)。默认为不检查。optional
- 此文件是否可选。默认为 false。如果为 true,则无论其他约束如何,丢失的文件都将通过验证器。
参数
-
mixed
$file 来自 PHP 的上传文件数据。
-
array<string, mixed>
$options optional 验证的选项数组。
返回值
bool
url() ¶ public static
url(mixed $check, bool $strict = false): bool
根据 https://www.w3.org/Addressing/URL/url-spec.txt 检查值是否为有效的 URL。
正则表达式检查以下组件部分
- 有效、可选的方案
- 有效的 IP 地址或有效的域名,如 https://www.ietf.org/rfc/rfc1035.txt 第 2.3.1 节中所定义的,并带有一个可选的端口号
- 可选的有效路径
- 可选的查询字符串(get 参数)
- 可选的片段(锚点标签),如 RFC 3986 中所定义的
参数
-
mixed
$check 要检查的值。
-
bool
$strict optional 要求 URL 以有效的方案为前缀(http(s)/ftp(s)/file/news/gopher 中的一个)
返回值
bool
链接
utf8() ¶ public static
utf8(mixed $value, array<string, mixed> $options = []): bool
检查输入值是否为 UTF8 字符串。
此方法将拒绝所有非字符串值。
选项
extended
- 禁止基本多语言平面中更高的字节。MySQL 的较旧 utf8 编码类型不允许基本多语言平面以上字符。默认为 false。
参数
-
mixed
$value 要检查的值。
-
array<string, mixed>
$options optional 选项数组。有关支持的选项,请参见上文。
返回值
bool