【发布时间】:2018-08-21 21:42:36
【问题描述】:
我正在使用 laravel 5.4 和 vuejs(多语言支持)开发一个应用程序,用于验证 csv 文件的内容。我已经使用 vuejs 解析了 csv 文件,并将结果 json 数组发布到 Laravel。
在 Laravel 上,我循环了 json 数组并使用 laravel 验证器验证了该字段。
$i = 0;
foreach ($json_array as $key => $value) {
$params contains employee_id's and employee_name's
$i = $i + 1;
Validator::make($params, [
'employee_id' => 'required|integer|exists:employees,employee_id',
'employee_name' => 'required|string',
])->validate();
}
如果验证规则有任何中断,可以使用 laravel 验证和 laravel 触发错误。
示例:如果 csv 文件有一个空字段employee_name,Laravel 会显示错误“employee_name is required”。
现在我需要用行号(行)显示错误,行号可以使用 $i 变量。如何将 $i 变量(行)传递给验证文件以显示我的错误行号。
我已经花了很多时间将变量作为参数传递给验证消息(在验证文件上)。但我没有得到解决方案。
我期望的输出是:
例子:
"employee_name is required in line : 8" 如果 csv 文件在第 8 行有一个空字段employee_name。
还有当触发错误时如何获取列号?
感谢您的回复。
【问题讨论】:
-
现有验证规则无法解决您的需求,我的建议是使用自定义验证规则,但您必须自己尝试,您可以阅读here
-
发送消息数组到make方法。
标签: laravel csv validation vuejs2 laravel-5.4