我刚刚安装了laravelcollective 5.8,并尝试将error类放在输入表单上,如下所示
{{Form::number('nik', '', ['id'=>'nik','min'=>'1','max'=>'999999','class'=>'form-control @error('nik') is-invalid @enderror','placeholder'=>'E.g: 1234','required'])}}首先,我得到了错误
syntax error, unexpected 'nik' (T_STRING), expecting ']'我尝试将@error('nik')更改为@error(‘nik’),但没有成功,这就是检查元素上发生的事情
<input id="nik" min="1" max="999999" class="form-control <?php if ($errors->has("nik")) :
if (isset($message)) { $messageCache = $message; }
$message = $errors->first("nik"); ?> is-invalid <?php unset($message);
if (isset($messageCache)) { $message = $messageCache; }
endif; ?>" placeholder="E.g: 1234" required="" name="nik" type="number" value="">这应该在本地laravel刀片上
<input required min="1" max="999999" id="nik" class="form-control @error('nik') is-invalid @enderror" type="number" name="nik" placeholder="E.g: 1234">并且检查元素将是:
<input required="" min="1" max="999999" id="nik" class="form-control " type="number" name="nik" placeholder="E.g: 1234">有谁知道怎么解决这个问题,我会很高兴的..谢谢..。
发布于 2019-10-13 22:27:03
{{ }}中的所有东西都是PHP,而不是Blade,所以像@error这样的指令在那里是不起作用的。
{{ Form::number('nik', '', [
'id'=>'nik',
'min'=>'1',
'max'=>'999999',
'class'=>'form-control @error('nik') is-invalid @enderror',
'placeholder'=>'E.g: 1234',
'required'
]) }}取而代之的是用PHP的方式:
'class' => 'form-control' . ($errors->has('nik') ? ' is-invalid' : null),发布于 2021-08-11 16:09:18
您还可以创建一个helper函数并在视图中使用共享的errors变量。
function add_error($name, $error_class = ' is-invalid ')
{
$errors = view()->shared('errors');
return $errors && $errors->has($name) ? $error_class : '';
}并将其附加到类中。
{{ Form::text('name', null, [
'id'=>'name',
'class'=>'form-control' . add_error('name'),
'placeholder'=>'Name',
'required'
]) }}https://stackoverflow.com/questions/58364412
复制相似问题