Как получить сообщение о проверке в laravel-validation-rules / credit-card

#php #laravel #validation #laravel-blade #credit-card

#php #laravel #проверка #laravel-лезвие #кредитная карта #laravel-blade

Вопрос:

Я использовал средство проверки laravel для получения информации о кредитной карте, как указано здесь. Я могу, наконец, позволить ему работать, но моя проблема в том, как я могу сделать его результат доступным для чтения пользователем. Я также использую проверку Laravel следующим образом:

 public static function validate()
{
    $val = [
           'card_num' => ['required', 'numeric', new CardNumber],
    ];

    return $val;
}
  

Итак, если я нажал кнопку отправки, а поле пустое, результат card numは必須です。 означает, что требуется номер карты. И если я укажу неверный номер карты, результат будет validation.credit_card.card_length_invalid таким, как я могу сделать, чтобы он имел тот же результат, что и оставить поле пустым? Мне нравится это при получении ошибок проверки в блейд-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 in validation.php , но это не работает.

 'custom' => [
    'validation.card_length_invalid' => '無効なカード長',
    'validation.credit_card' => 'クレジットカード',
],
  

Ответ №1:

Ваш массив в validation.php близок к правильному. Попробуйте изменить ключ верхнего уровня credit_card на «вместо custom «, как у них в исходном коде. Я не уверен на 100%, но я не думаю, что этот пакет поддерживает сообщения в custom массиве, как это делают обычные правила Laravel. Например:

 'credit_card' => [
   'card_length_invalid' => '無効なカード長',
   'credit_card' => 'クレジットカード',
],