【发布时间】:2022-01-14 05:35:12
【问题描述】:
问题
我正在处理发票行。当行类型为“纯文本”时,价格和数量字段应为空白。
当行类型为“项目”时,价格和数量字段是必需的。
Laravel 已经做了什么:
required_if 函数非常适合说“好的,这是一个项目行,需要数量和价格。
我需要什么:
一个功能类似,但希望该字段为空,防止用户将价格和数量与纯文本行相对。
我是如何使用规则的:
class StoreInvoiceRequestDetail extends FormRequest
{
public function rules()
{
return [
'type_id' => 'required|integer|exists:invoice_request_detail_types,id',
'item_price' => [
'nullable',
'numeric',
'empty_if:type_id,'.InvoiceRequestDetailType::TEXT_ONLY.',Line Type,Text Only',
'required_if:type_id,'.InvoiceRequestDetailType::ITEM.'Line Type,Item',
],
'item_quantity' => [
'nullable',
'numeric',
'empty_if:type_id,'.InvoiceRequestDetailType::TEXT_ONLY.',Line Type,Text Only',
'required_if:type_id,'.InvoiceRequestDetailType::ITEM.',Line Type,Item',
],
'description' => 'required|string|min:3|max:'.ApplicationConstant::STRING_LONG,
'invoice_request_id' => 'required|integer|exists:invoice_requests,id',
];
}
}
【问题讨论】:
标签: php laravel validation required-field