laravel - Laravel 自定义规则传递数组属性
问题描述
我有一个自定义规则,但不确定如何将一个数组属性传递给该规则。
以下是我的formRequest
规则方法
'reservedProducts' => ['bail', 'array'],
'reservedProducts.*.productId' => ['required',new CheckForStockAvailability()],
在名为 的数组中传递了另一个隐藏字段reservedProducts[locationId]
,我如何将其传递locationId
给CheckForStockAvailability
规则?
我不想传递所有请求属性,而只是传递locationId
.
谢谢
解决方案
例如,考虑以下规则,如果 payment_type 的值为 cc,则指定需要信用卡号:
Validator::make($request->all(), [
'credit_card_number' => 'required_if:payment_type,cc' ]);
如果此验证规则失败,它将产生以下错误消息:
当支付类型为抄送时,信用卡号字段为必填项。
除了将 cc 显示为支付类型值,您还可以通过定义 values 数组在 resources/lang/xx/validation.php 语言文件中指定更用户友好的值表示:
'values' => [
'payment_type' => [
'cc' => 'credit card'
],
],
定义此值后,验证规则将产生以下错误消息:
当支付类型为信用卡时,信用卡号字段为必填项。
推荐阅读
- git - Github 存储库 - 许可证
- c# - 调用 Web 应用程序/API 链时,HttpContext.User.Identity 传播多远?
- python - 跳过 int 0 也会跳过 False
- php - php google sheet auth 2.0 验证码的使用
- sql - DBeaver,如何声明变量并使用它们?
- tfs - 安装 TFS 2015(Update3) 后的问题
- ag-grid - Ag-grid 如何在导航键向下时停止/结束编辑?
- arrays - for 循环中的 MQL5 数组耗时太长,有更好的方法吗?
- makefile - GNU Make 中的 Double Dollar "$$@" 目标名称
- javascript - 如何在谷歌图表中应用格式简单方法