thedavefulton/laravel-exclusive-validation-rules

为Laravel框架提供的两个额外的验证规则

1.0.0 2019-08-24 04:22 UTC

This package is auto-updated.

Last update: 2024-09-25 12:48:57 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

这个包的诞生源于确保一组输入中恰好只有一个输入被接收的需求。使用现有的验证规则可以确保至少接收一个或不超过一个,但没有一种简洁的方法可以保证恰好只有一个。

因此,实现了两个规则。第一个规则是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生成。