alphametric/laravel-validation-rules
最新稳定版本:v3.2.1
Composer 安装命令:
composer require alphametric/laravel-validation-rules
包简介
A package that provides a library of reusable Laravel validation rules.
关键字:
README 文档
README
This package provides a library of reusable validation rules for your Laravel projects. Use them to augment the existing set provided by Laravel itself.
Installation
Pull in the package using composer
composer require caneara/axiom
Upgrading
Axiom includes several breaking changes from the original package, so you'll need to follow these steps if you were using the old version:
- Ensure that you are using PHP 7.4 or later.
- Remove
alphametric/laravel-validation-rulesfrom yourcomposer.jsonfile. - Run
composer updateto remove the package from yourvendordirectory. - Install Axiom by running
composer require caneara/axiom. - Replace all instances of
use Alphametric\Validationwithuse Axiom. - The
EndsWithrule has been removed as Laravel now natively supports this. - The
Equalsrule has been removed. Instead, you should use Laravel's nativeinrule with a single option. - The
DoesNotExistrule has been renamed toMissing.
Usage
As per the Laravel documentation, simply import the relevant validation class wherever you require it, and then include it within the rules for a particular field:
use Axiom\Rules\StrongPassword; // ... $request->validate([ 'password' => ['bail', 'required', new StrongPassword], ]);
IMPORTANT: As with all custom rules, you cannot use a pipe-delimited string. You must instead use an array e.g.
'password' => ['bail', 'required', new StrongPassword] // correct 'password' => 'bail|required|new StrongPassword' // wrong
If the validation fails, the package will attempt to respond with a localized error message (see message keys below). If the key does not exist, it will fall back to a hard-coded English language version.
Available rules
The following validation rules are currently available:
| Rule | Message Key | Description |
|---|---|---|
| StrongPassword | validation.strong_password | Requires the presence of a "strong" password - see class for details |
| TelephoneNumber | validation.telephone_number | Requires the presence of a valid telephone number - see class for details |
| RecordOwner | validation.record_owner | Requires the authenticated user's id to match the user_id column on a given database record e.g. owner:posts,id |
| MonetaryFigure | validation.monetary_figure | Requires the presence of a monetary figure e.g $72.33 - see class for details |
| DisposableEmail | validation.disposable_email | Requires the presence of an email address which is not disposable |
| Missing | validation.missing | Requires that the given value is not present in a given database table / column - see class for details |
| Decimal | validation.decimal | Requires that the given value is a decimal with an appropriate format - see class for details |
| EncodedImage | validation.encoded_image | Requires that the given value is a base64-encoded image of a given mime types - see class for details |
| LocationCoordinates | validation.location_coordinates | Requires that the given value is a comma-separated set of latitude and longitude coordinates |
| FileExists | validation.file_exists | Requires that the given value is a path to an existing file - see class for details |
| MacAddress | validation.mac_address | Requires that the given value is a valid MAC address |
| ISBN | validation.isbn | Requires that the given value is a valid ISBN-10 or ISBN-13 number |
| EvenNumber | validation.even_number | Requires that the given value is an even number (decimals are first converted using intval) |
| OddNumber | validation.odd_number | Requires that the given value is an odd number (decimals are first converted using intval) |
| Lowercase | validation.lowercase | Requires that the given value is a lower case string |
| Uppercase | validation.uppercase | Requires that the given value is a upper case string |
| Titlecase | validation.titlecase | Requires that the given value is a title case string |
| Domain | validation.domain | Requires that the given value be a domain e.g. google.com, www.google.com |
| CitizenIdentification | validation.citizen_identification | Requires that the given value be a citizen identification number of USA, UK, France, Brazil or Vietnam (see class for details) |
| WithoutWhitespace | validation.without_whitespace | Requires that the given value not include any whitespace characters |
| MaxWords | validation.max_words | Requires that the given value cannot contain more words than specified |
| HexColor | validation.hex_color | Requires that the given value is a valid hex color eg. #fff, #0f0f0f, #00ff0080 |
Contributing
Thank you for considering a contribution to Axiom. You are welcome to submit a PR containing improvements, however if they are substantial in nature, please also be sure to include a test or tests.
License
The MIT License (MIT). Please see License File for more information.
alphametric/laravel-validation-rules 适用场景与选型建议
alphametric/laravel-validation-rules 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 26.47k 次下载、GitHub Stars 达 523, 最近一次更新时间为 2019 年 03 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「validation」 「rules」 「laravel」 「axiom」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 alphametric/laravel-validation-rules 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 alphametric/laravel-validation-rules 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 alphametric/laravel-validation-rules 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Magento 2 module which adds support for Speculation Rules API for instant page loads.
The coding standard applying to all Youdot PHP projects, based on Doctrine set of PHPCS rules, with additional checks.
Business rules engine tools.
A set of Laravel validation rules
Adds request-parameter validation to the SLIM 3.x PHP framework
The last validation library you will ever need!
统计信息
- 总下载量: 26.47k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 523
- 点击次数: 22
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-03-20