4

我正在使用 LaravelValidator类对数组进行一些基本验证。

我的数组:

$employee['name']='name';
$employee['address']='address';
$employee['department']['department_name']='deptname';
$employee['department']['department_address']='deptaddress';

我有如下验证规则:

$rules = array(
    'name'=> 'required',
    'address' => 'required',
    'department.department_name' => 'sometimes|required'
)

自定义消息如下:

$messages = array(
     'name.required' => 'Employee Name is required',
     'address.required' => 'Address is required'
     'department.department_name.required' => 'Department name is required'
)

我会用Validator::make($employee, $rules, $messages);

根据我的规则,department_name当且仅当它存在于数组中时才应进行验证。但目前Validator没有验证department_name它的存在和空白。有什么想法我可能做错了吗?

4

1 回答 1

1

你在这里有点错误,请参阅此处的文档

那里提到了如果我有,$photos['profile']那么我的验证将像这样

$validator = Validator::make($request->all(), [
    'photos.profile' => 'required|image',
]);

从上面的例子中,你的情况应该是这样的

$rules = array(
    'name'=> 'required',
    'address' => 'required',
    'employee.department.department_name' => 'sometimes|required'
)

既然你有这样的数组$employee['department']['department_name']

$message意志是这样的吗

$messages = array(
     'name.required' => 'Employee Name is required',
     'address.required' => 'Address is required'
     'employee.department.department_name.required' => 'Department name is required'
)
于 2017-10-02T19:25:35.877 回答