【发布时间】:2020-05-05 04:54:45
【问题描述】:
我有一个表单,用户可以在其中添加任意数量的联系人。但我陷入了对此的验证。我使用旧的表单验证方式,使用$request->validate 方法。
我的表格(其中一部分是相关的):
<div class="row">
<div class="col">
{!! Form::text('contact_name[]', __('site.contact.name'))->placeholder(__('site.contact.name'))->help('<a href="#add-contact" id="add-contact">+ ' . __('site.contact.add_person') . '</a>') !!}
</div>
<div class="col">
{!! Form::text('contact_email[]', __('site.contact.email'))->placeholder(__('site.contact.email')) !!}
</div>
<div class="col">
{!! Form::text('contact_phone[]', __('site.contact.phone'))->placeholder(__('site.contact.phone')) !!}
</div>
</div>
我的验证是在 CRUD 存储方法中:
$request->validate([
'contact_name.*' => 'required|max:255',
'contact_email.*' => 'required|email|max:255',
'contact_phone.*' => 'required|max:255',
]);
这总是会导致通过,而输入中没有任何内容。 当我尝试以下操作时;它总是失败。
$request->validate([
'contact_name[]' => 'required|max:255',
'contact_email[]' => 'required|email|max:255',
'contact_phone[]' => 'required|max:255',
]);
根据文档,通配符方式是应该的方式。关于如何让它发挥作用的任何想法?
亲切的问候, 尼尔斯
-- 编辑 1--
我的表单请求数据如下所示(仅包括相关变量)
"_token" => "IbYI2FYivl30YJfw8hBHti9bsaBUdkG2T76HZOIN"
"contact_name" => array:1 [▼
0 => "abc"
]
"contact_email" => array:1 [▼
0 => "abc"
]
"contact_phone" => array:1 [▼
0 => "abc"
]
【问题讨论】:
标签: php laravel validation laravel-6