caneara / axiom
此包已被废弃且不再维护。未建议替代包。
提供一组可重用 Laravel 验证规则的库包。
v3.2.1
2021-03-25 12:05 UTC
Requires
- php: ^7.4|^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
此包为您的 Laravel 项目提供了一组可重用的验证规则库。使用它们来增强 Laravel 自身提供的现有规则集。
安装
使用 composer 引入此包
composer require caneara/axiom
升级
Axiom 包包含与原始包的几个重大变更,因此如果您正在使用旧版本,需要遵循以下步骤
- 确保您正在使用 PHP 7.4 或更高版本。
- 从您的
composer.json
文件中移除alphametric/laravel-validation-rules
。 - 运行
composer update
以从您的vendor
目录中删除包。 - 通过运行
composer require caneara/axiom
安装 Axiom。 - 将所有
use Alphametric\Validation
实例替换为use Axiom
。 EndsWith
规则已被移除,因为 Laravel 现在原生支持此功能。Equals
规则已被移除。相反,您应该使用 Laravel 的原生in
规则与单个选项一起使用。DoesNotExist
规则已被重命名为Missing
。
使用方法
如 Laravel 文档 中所述,只需在需要的地方导入相关的验证类,然后在特定字段的规则中包含它即可
use Axiom\Rules\StrongPassword; // ... $request->validate([ 'password' => ['bail', 'required', new StrongPassword], ]);
重要:与所有自定义规则一样,您不能使用管道分隔的字符串。相反,必须使用 array
,例如。
'password' => ['bail', 'required', new StrongPassword] // correct 'password' => 'bail|required|new StrongPassword' // wrong
如果验证失败,此包将尝试以本地化错误消息响应(请参阅以下消息键)。如果密钥不存在,它将回退到硬编码的英文语言版本。
可用规则
以下验证规则目前可用
规则 | 消息键 | 描述 |
---|---|---|
StrongPassword | validation.strong_password | 需要存在一个“强”密码 - 请参阅类以获取详细信息 |
TelephoneNumber | validation.telephone_number | 需要存在一个有效的电话号码 - 请参阅类以获取详细信息 |
RecordOwner | validation.record_owner | 需要认证用户的 id 与给定数据库记录上的 user_id 列匹配 - 例如 owner:posts,id |
MonetaryFigure | validation.monetary_figure | 需要存在一个货币数额 - 例如 $72.33 - 请参阅类以获取详细信息 |
DisposableEmail | validation.disposable_email | 需要存在一个非一次性电子邮件地址 |
Missing | validation.missing | 需要给定的值不在给定的数据库表/列中 - 请参阅类以获取详细信息 |
Decimal | validation.decimal | 需要给定的值是具有适当格式的十进制数 - 请参阅类以获取详细信息 |
EncodedImage | validation.encoded_image | 需要给定的值是给定 mime 类型的基础64编码图像 - 请参阅类以获取详细信息 |
LocationCoordinates | validation.location_coordinates | 需要给定的值是一组以逗号分隔的纬度和经度坐标 |
FileExists | validation.file_exists | 要求给定的值是现有文件的路径 - 请参阅类详细说明 |
MacAddress | validation.mac_address | 要求给定的值是有效的MAC地址 |
ISBN | validation.isbn | 要求给定的值是有效的ISBN-10或ISBN-13编号 |
EvenNumber | validation.even_number | 要求给定的值是偶数(十进制数首先使用intval函数转换) |
OddNumber | validation.odd_number | 要求给定的值是奇数(十进制数首先使用intval函数转换) |
Lowercase | validation.lowercase | 要求给定的值是小写字符串 |
Uppercase | validation.uppercase | 要求给定的值是大写字符串 |
Titlecase | validation.titlecase | 要求给定的值是标题格式字符串 |
Domain | validation.domain | 要求给定的值是域名,例如google.com,www.google.com |
CitizenIdentification | validation.citizen_identification | 要求给定的值是美国、英国、法国、巴西或越南的公民身份号码(请参阅类详细说明) |
WithoutWhitespace | validation.without_whitespace | 要求给定的值不包含任何空白字符 |
MaxWords | validation.max_words | 要求给定的值不能包含比指定更多的单词 |
HexColor | validation.hex_color | 要求给定的值是有效的十六进制颜色,例如#fff,#0f0f0f,#00ff0080 |
Contributing
感谢您考虑对Axiom做出贡献。欢迎提交包含改进的PR,但如果它们本质上是重大的,请确保还包括测试或测试。
License
MIT许可(MIT)。请参阅许可文件获取更多信息。