此包已被废弃,不再维护。作者建议使用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类型的base64编码的图像 - 请参阅类以获取详细信息
位置坐标 validation.location_coordinates 要求提供的值是逗号分隔的纬度和经度坐标集
文件存在 validation.file_exists 要求提供的值是现有文件的路径 - 请参阅类详细信息
MAC地址 validation.mac_address 要求提供的值是有效的MAC地址
ISBN validation.isbn 要求提供的值是有效的ISBN-10或ISBN-13编号
偶数 validation.even_number 要求提供的值是偶数(首先使用intval将小数转换为整数)
奇数 validation.odd_number 要求提供的值是奇数(首先使用intval将小数转换为整数)
小写 validation.lowercase 要求提供的值是小写字符串
大写 validation.uppercase 要求提供的值是大写字符串
标题大小写 validation.titlecase 要求提供的值是标题大小写字符串
域名 validation.domain 要求提供的值是域名,例如:google.com, www.google.com
公民识别号 validation.citizen_identification 要求提供的值是美国、英国、法国、巴西或越南的公民识别号码(请参阅类详细信息)
无空白字符 validation.without_whitespace 要求提供的值不包含任何空白字符
最大单词数 validation.max_words 要求提供的值包含的单词数不超过指定数量
十六进制颜色 validation.hex_color 要求提供的值是有效的十六进制颜色,例如:#fff, #0f0f0f, #00ff0080

贡献

感谢您考虑为Axiom做出贡献。您欢迎提交包含改进的PR,但如果它们本质上是重大的,请确保还包括一个或多个测试。

许可

MIT许可证(MIT)。有关更多信息,请参阅许可文件