caneara/axiom

此包已被废弃且不再维护。未建议替代包。

提供一组可重用 Laravel 验证规则的库包。

v3.2.1 2021-03-25 12:05 UTC

README

此包为您的 Laravel 项目提供了一组可重用的验证规则库。使用它们来增强 Laravel 自身提供的现有规则集。

安装

使用 composer 引入此包

composer require caneara/axiom

升级

Axiom 包包含与原始包的几个重大变更,因此如果您正在使用旧版本,需要遵循以下步骤

  1. 确保您正在使用 PHP 7.4 或更高版本。
  2. 从您的 composer.json 文件中移除 alphametric/laravel-validation-rules
  3. 运行 composer update 以从您的 vendor 目录中删除包。
  4. 通过运行 composer require caneara/axiom 安装 Axiom。
  5. 将所有 use Alphametric\Validation 实例替换为 use Axiom
  6. EndsWith 规则已被移除,因为 Laravel 现在原生支持此功能。
  7. Equals 规则已被移除。相反,您应该使用 Laravel 的原生 in 规则与单个选项一起使用。
  8. 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)。请参阅许可文件获取更多信息。