#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' => 'クレジットカード',
],