3

我正在使用以下包https://laravel-excel.com/导入 excel 文件,但在验证行时遇到了问题。

标题行名称可能与数据库中的列名称不同。所以我的问题是如何验证具有不同名称的标题行?例如,数据库列名称是first_name,但标题行名称可以是first_namevoornaam

我还想知道为什么: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'
     ]
 }
4

0 回答 0