bachilli / laravel-request-rules
停止在FormRequests中重复代码和验证。本包以通用方式提供FormRequest组件的重用!
1.1.0
2020-03-03 18:30 UTC
Requires
- php: ^7.1
- illuminate/support: ^6.0
Requires (Dev)
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-08-29 05:18:48 UTC
README
停止在FormRequests中重复代码和验证。本包以通用方式提供FormRequest规则的重用!
安装
您可以通过composer安装此包
composer require bachilli/laravel-request-rules
用法
创建包含所有验证规则的主要FormRequests。之后,为您的控制器方法创建独特的FormRequests。以下是一个StoreProductRequest的示例
public function rules() { return RequestRule::resolveRules( [ 'name' => 'required', ], [ RequestRule::merge(VolumeEntityFormRequest::class, 'volumes.*', 'required|array')->only(['dimensions'])->get(), RequestRule::merge(ProductEntityFormRequest::class, 'products.*')->except(['price'])->get(), ]); }
resolveRules方法中的第一个数组仅针对您的FormRequest,第二个数组是组合的规则,从其他FormRequests导入。
方法
提供了一些辅助方法,您在导入规则时可以使用。以下是对所有方法的描述。
merge(SomeFormRequest::class, 'desired_field_name', 'optional_validations')
在desired_field_name
中,您可以通过后缀.*
来指定数组字段。
optional_validations
在需要数组字段并希望进行某些验证(如required
)时非常有用。
only(['field_name', SomeFormRequest::class])
如果您只想导入规则,可以使用此方法。
except(['field_name', SomeFormRequest::class])
您也可以这样做,导入所有规则,除了指定的那些。
测试
尚未实现。
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何安全相关问题,请通过电子邮件bachilli@gmail.com联系,而不是使用问题跟踪器。
鸣谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。