thedavefulton / laravel-exclusive-validation-rules
为Laravel框架提供的两个额外的验证规则
1.0.0
2019-08-24 04:22 UTC
Requires
- php: ^7.1
- illuminate/support: 5.8.*
Requires (Dev)
- orchestra/testbench: 3.8.*
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-25 12:48:57 UTC
README
这个包的诞生源于确保一组输入中恰好只有一个输入被接收的需求。使用现有的验证规则可以确保至少接收一个或不超过一个,但没有一种简洁的方法可以保证恰好只有一个。
因此,实现了两个规则。第一个规则是require_exclusive,确保恰好有一个输入存在。第二个规则是optional_exclusive,允许没有输入存在,但如果存在任何输入,则必须是恰好一个。
安装
您可以通过composer安装此包
composer require thedavefulton/laravel-exclusive-validation-rules
该包配置为使用Laravel的自动发现功能。但是,您可以在app/config.php文件中手动注册服务提供者
'providers' => [ // Other Service Providers Thedavefulton\ExclusiveValidationRulesServiceProvider::class, ],
用法
这些规则可以像任何标准验证规则一样使用。
$attributes= $request->validate([ 'input1' => 'required_exclusive:input2', 'input2' => 'required_exclusive:input1', ]); $attributes= $request->validate([ 'input1' => 'optional_exclusive:input2', 'input2' => 'optional_exclusive:input1', ]);
它们也可以扩展到n个输入
$attributes= $request->validate([ 'input1' => 'required_exclusive:input2,input3,input4', 'input2' => 'required_exclusive:input1,input3,input4', 'input3' => 'required_exclusive:input1,input2,input4', 'input4' => 'required_exclusive:input1,input2,input3', ]);
测试
composer test
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全性
如果您发现任何安全问题,请通过电子邮件thedave@thedavefulton.com联系,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。
Laravel Package Boilerplate
此包使用Laravel Package Boilerplate生成。