我使用Laravel Validator类对数组进行一些基本验证.
我的阵列:
$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.我有什么想法可能做错了吗?
解决方法
你这里有点不对,请看这里的
docs
在那里提到如果我有$photos [‘profile’]那么我的验证就是这样的
$validator = Validator::make($request->all(),[ 'photos.profile' => 'required|image',]);
从上面的例子中,在你的情况下它应该是这样的
$rules = array( 'name'=> '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' )