Eem*_*Jee 2 php validation credit-card laravel laravel-blade
我按照此处的说明使用 laravel 验证器获取信用卡信息。我终于可以让它工作了,但我的问题是如何让用户可以读取它的结果。我也像这样使用 Laravel 验证:
public static function validate()
{
$val = [
'card_num' => ['required', 'numeric', new CardNumber],
];
return $val;
}
Run Code Online (Sandbox Code Playgroud)
因此,如果我单击提交按钮并且该字段为空,则结果是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
Run Code Online (Sandbox Code Playgroud)
更新
我看过它的源文件和消息,但我不想直接更改供应商文件。我试过添加custom
in validation.php
,但它不起作用。
'custom' => [
'validation.card_length_invalid' => '???????',
'validation.credit_card' => '????????',
],
Run Code Online (Sandbox Code Playgroud)
您的数组validation.php
接近正确。尝试将顶级密钥更改为 ,credit_card
而不是custom
像源代码中那样。我不是 100% 确定,但我认为这个包custom
不像普通的 Laravel 规则那样支持数组中的消息。例如:
'credit_card' => [
'card_length_invalid' => '???????',
'credit_card' => '????????',
],
Run Code Online (Sandbox Code Playgroud)