【发布时间】:2019-04-01 14:44:02
【问题描述】:
我正在使用 laravel 的验证器来创建登录验证,并且我的登录有 2 种类型的用户。一个具有价值 PAR(客户),一个具有 PRO(专业)。如果选中单选按钮 pro,它会在我的表单中添加 3 个更多字段。
当我是客户时,如何从$data 中删除这些字段?
这是我测试的:
// VERIFICATION OF THE USER'S STATUS
if($data['status'] == 'PAR') {
return Validator::make($data, [
// CLIENT PART
'name' => 'required|string|max:255',
'surname' => 'required|string|max:255',
'email_user' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
'gender' => 'required|string',
'birth' => 'required|date',
'address' => 'required|string|max:255',
'city' => 'required|string|max:255',
'pc' => 'required|numeric|digits_between:4,5',
'status' => 'required|string|max:255',
]);
}
else if($data['status'] == 'PRO') {
return Validator::make($data, [
// PROFESSIONNAL PART
'name' => 'required|string|max:255',
'surname' => 'required|string|max:255',
'email_user' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
'gender' => 'required|string',
'birth' => 'required|date',
'address' => 'required|string|max:255',
'city' => 'required|string|max:255',
'pc' => 'required|numeric|digits_between:4,5',
'status' => 'required|string|max:255',
'phone' => 'required|numeric',
'license' => 'requiredmimes:jpeg,pdf,png',
'urssaf' => 'required|mimes:jpeg,pdf,png'
]);
}
然后我会为 User::create 函数做同样的事情。 我正在使用 JS 来显示或不显示电话/许可证/urssaf 字段。所以在我的表单中,它们已经包含并在表单中发送为 ''。
【问题讨论】:
-
那么你那里有什么问题?它有效吗?你看过这里吗:laravel.com/docs/5.6/validation#available-validation-rules
标签: php arrays laravel forms validation