Laravel 将数组发送到字段名称row这基本上看起来像:
[row] => Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] => b_number
[6] => u_number
[7] =>
[8] =>
[9] => a_name
[10] => a_value
[11] => c_name
[12] => floor
[13] => stack
)
该数组可以在不同的索引处具有值,并且该数组可以比这大也可以小。但主要要求是检查
b_number,
u_number,
a_name,
a_value,
c_name,
floor,
stack
这些值存在于数组中。如果缺少某些值,我需要将错误返回为。
b_numbber is required
c_name is required
到目前为止我所做的:
$rules = [
'row' => [new RequiredCSVColumn()]
];
必填CSV列
public function passes($attribute, $value)
{
$arr = array();
$required_all = array('b_number', 'u_number', 'a_name' ,'a_value', 'c_name', 'floor', 'stack');
foreach ($required_all as $k => $v) {
if(!in_array($v,$value))
{
$arr[] = $v;
}
}
if(!empty($arr)){
return false;
}
return true;
}
在这里, $arr 保存了缺少的字段的名称,我只需要将此消息返回为Field Name is required