Laravel 的验证系统有 60多个验证规则可用,但是如果你需要其他的功能怎么办?你可以 轻松创建自己的验证规则, 也可以使用互联网上已有的验证规则。让我们来看看。
首先,我们从 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 制定了另一套好的规则,他还为此创建了一个专门的网站 laravel-validation-rules.github.io。它有以下规则:
Colour: 值是不是颜色,目前仅支持十六进制代码。
Country Codes: 验证 2&3 个字符的 国家/地区 代码。
Credit Card: 验证值是不是合法的信用卡号及有效期和是否有效。
IP: 验证值 IP 地址是公共的还是私有的。支持 IPV4 和 IPV6。
Phone: 验证值是否满足电话号码格式。
Subdomain: 验证用户提交的自域名值是否已经存在与当前程序中。
Timezone: 验证时区值在系统时间日期数据库中是否有效。
US State: 验证值是不是美国的州/加拿大的省份。
Spatie 在自己的 存储库 中提供了一些验证规则:
Authorized: 验证用户是否有权对某一个模型的实例执行功能。
CountryCode: 验证字段是不是一个有效的 ISO3166 国家/地区代码。
Enum: 验证值是不是属于给定枚举类的一部分, 例如 myclabs/php-enum.
ModelsExist: 验证输入数组中的所有值都作为给定模型类的属性存在。
Delimited: 验证字符串中是否有定界值, 例如 ‘sebastian@example.com, alex@example.com’中的@符
最后是来自Gergő D. Nagy 在 2017 年 年末发表在 pineco 的一篇文章。 相关验证规则存储在 GitHub存储库。但是自那时起就没有再更新过,谨慎使用! 规则如下:
weekday:检查日期是不是一个合法的工作日。
原文地址:https://laraveldaily.com/40-additional-laravel-validation-rules/
译文地址:https://learnku.com/laravel/t/39365
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理