我正在使用以下包https://laravel-excel.com/导入 excel 文件,但在验证行时遇到了问题。
标题行名称可能与数据库中的列名称不同。所以我的问题是如何验证具有不同名称的标题行?例如,数据库列名称是first_name
,但标题行名称可以是first_name
或voornaam
。
我还想知道为什么:message
不使用:attribute
语言文件中的本地化。例如,该属性first_name
在 lang/nl/validation.php 中被翻译,因为voornaam
错误消息仍然返回first_name
。
导入功能:
public function model( array $row )
{
return new Participant([
'salutation' => $row['salutation'] ?? $row['aanhef'] ?? null,
'first_name' => $row['first_name'] ?? $row['voornaam'] ?? $row['voorletters'] ?? $row['voorletter'],
'last_name' => $row['last_name'] ?? $row['achternaam']
]);
}
验证规则:
public function rules(): array
{
return [
'salutation' => 'nullable|string',
'first_name' => 'required|string',
'last_name' => 'required|string',
]
}
我曾尝试使用,customValidationAttributes
但这不起作用。也提出了一个问题,但到目前为止没有回应。
public function customValidationAttributes()
{
return [
'salutation' => 'salutation',
'aanhef' => 'salutation',
'first_name' => 'first_name',
'voornaam' => 'first_name',
'last_name' => 'last_name',
'achternaam' => 'last_name'
]
}