Laravel 9 保姆级视频教程,想学不会都难!进入学习
Laravel 的验证系统有 60多个验证规则可用,但是如果你需要其他的功能怎么办?你可以 轻松创建自己的验证规则, 也可以使用互联网上已有的验证规则。让我们来看看。
来自 Alphametric 的22条规则
首先,我们从 Alphametric 的高级开发人员 Matt Kingshott 的一系列文章开始,他在 Medium 写了许多的帖子,并将所有规则添加到 Github存储库 中。以下是可用的规则列表:
-
StrongPassword: 检查是否是 “强” 类型的密码
-
TelephoneNumber: 检查是否是有效的电话号码
-
RecordOwner: 要求经过身份验证的用户 ID 与给定数据库记录中的user_id 列匹配,例如: 所有者:帖子,id
-
MonetaryFigure: 检查货币数字,例如: $ 72.33
-
DisposableEmail: 检查邮件地址是不是一次性的邮件地址
-
DoesNotExist: 检查给定的值是否存在数据库 表/列 中
-
Decimal: 检查是否具是有正确格式的十进制
-
EncodedImage: 检查值是否是给定 mime 类型的 base64 编码图像
-
LocationCoordinates: 检查是不是以逗号分隔开的一组经纬度坐标
-
FileExists: 检查值是不是一个已有的文件路径
-
Equals: 检查值是否等于另外一个值
-
MacAddress: 检查值是不是一个有效的 MAC 地址
-
ISBN: 检查值是不是有效的ISBN-10或ISBN-13数字
-
EndsWith: 检查值是不是以给定的字符串结尾
-
EvenNumber: 检查值是不是偶数(小数先使用 intval 进行类型强制转换)
-
OddNumber: 检查值是不是奇数(小数先使用 intval 进行类型强制转换)
-
Lowercase: 检查值是不是小写的字符串
-
Uppercase: 检查值是不是大写的字符串
-
Titlecase: 检查值是不是标题字符串
-
Domain: 检查值是不是一个合法域名 google.com, www.google.com
-
CitizenIdentification:检查值是不是合法的 美/法/英 国公民的身份证号
-
WithoutWhitespace: 检查值是否包含空格字符
来自 Scott Robinson 的 8 条规则
Scott Robinson 制定了另一套好的规则,他还为此创建了一个专门的网站 laravel-validation-rules.github.io。它有以下规则:
-
Colour: 值是不是颜色,目前仅支持十六进制代码。
-
Country Codes: 验证 2&3 个字符的 国家/地区 代码。
-
Credit Card: 验证值是不是合法的信用卡号及有效期和是否有效。
-
IP: 验证值 IP 地址是公共的还是私有的。支持 IPV4 和 IPV6。
-
Phone: 验证值是否满足电话号码格式。
-
Subdomain: 验证用户提交的自域名值是否已经存在与当前程序中。
-
Timezone: 验证时区值在系统时间日期数据库中是否有效。
-
US State: 验证值是不是美国的州/加拿大的省份。
Spatie 的 5 条规则
Spatie 在自己的 存储库 中提供了一些验证规则:
-
Authorized: 验证用户是否有权对某一个模型的实例执行功能。
-
CountryCode: 验证字段是不是一个有效的 ISO3166 国家/地区代码。
-
Enum: 验证值是不是属于给定枚举类的一部分, 例如 myclabs/php-enum.
-
ModelsExist: 验证输入数组中的所有值都作为给定模型类的属性存在。
-
Delimited: 验证字符串中是否有定界值, 例如 ‘sebastian@example.com, alex@example.com’中的@符
Pineco.de 的 5 条规则
最后是来自Gergő D. Nagy 在 2017 年 年末发表在 pineco 的一篇文章。 相关验证规则存储在 GitHub存储库。但是自那时起就没有再更新过,谨慎使用! 规则如下:
- password:检查用户的密码。
- Odd:检查值是不是奇数。
- even: 检查值是不是偶数。
- incremented:检查值是不是一个自增字段。
- specific words:检查值是否包含特定单词。
-
weekday:检查日期是不是一个合法的工作日。
原文地址:https://laraveldaily.com/40-additional-laravel-validation-rules/
译文地址:https://learnku.com/laravel/t/39365
【