Я использовал валидатор laravel для информации о кредитной карте в соответствии с инструкциями здесь. Наконец-то я могу позволить ему работать, но моя проблема в том, как сделать его результат доступным для чтения пользователем. Я также использую проверку Laravel следующим образом:
public static function validate()
{
$val = [
'card_num' => ['required', 'numeric', new CardNumber],
];
return $val;
}
Итак, если я нажал кнопку отправки, а поле пусто, результатом будет card numは必須です。, что означает, что требуется номер карты. И если я укажу неверный номер карты, результат будет validation.credit_card.card_length_invalid, как я могу сделать, чтобы он имел тот же результат, что и оставив поле пустым? Мне это нравится, когда я получаю ошибки проверки в Blade php.
<div>
<label>カード番号</label>
<input type = "text" name = "card_num" id = "credit-card" value = "{{ old('card_num', $user['card_num']) }}" >
</div>
@if ($errors->has('card_num'))
<p class = "alert-error">
{{ $errors->first('card_num') }}
</p>
@endif
ОБНОВИТЬ
Я видел его исходный файл и сообщения, но я не хочу напрямую изменять файлы поставщика.
Я пытался добавить custom в validation.php, но это не работает.
'custom' => [
'validation.card_length_invalid' => '無効なカード長',
'validation.credit_card' => 'クレジットカード',
],






Ваш массив в validation.php близок к правильному. Попробуйте изменить ключ верхнего уровня на credit_card вместо custom, как в исходный код. Я не уверен на 100%, но я не думаю, что этот пакет поддерживает сообщения в массиве custom, как это делают обычные правила Laravel. Например:
'credit_card' => [
'card_length_invalid' => '無効なカード長',
'credit_card' => 'クレジットカード',
],