首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将@error类放在laravelcollective上

如何将@error类放在laravelcollective上
EN

Stack Overflow用户
提问于 2019-10-13 22:18:24
回答 2查看 1.3K关注 0票数 3

我刚刚安装了laravelcollective 5.8,并尝试将error类放在输入表单上,如下所示

代码语言:javascript
运行
复制
{{Form::number('nik', '', ['id'=>'nik','min'=>'1','max'=>'999999','class'=>'form-control @error('nik') is-invalid @enderror','placeholder'=>'E.g: 1234','required'])}}

首先,我得到了错误

代码语言:javascript
运行
复制
syntax error, unexpected 'nik' (T_STRING), expecting ']'

我尝试将@error('nik')更改为@error(‘nik’),但没有成功,这就是检查元素上发生的事情

代码语言:javascript
运行
复制
<input id="nik" min="1" max="999999" class="form-control <?php if ($errors->has(&quot;nik&quot;)) :
if (isset($message)) { $messageCache = $message; }
$message = $errors->first(&quot;nik&quot;); ?> is-invalid <?php unset($message);
if (isset($messageCache)) { $message = $messageCache; }
endif; ?>" placeholder="E.g: 1234" required="" name="nik" type="number" value="">

这应该在本地laravel刀片上

代码语言:javascript
运行
复制
<input required min="1" max="999999" id="nik" class="form-control @error('nik') is-invalid @enderror" type="number" name="nik" placeholder="E.g: 1234">

并且检查元素将是:

代码语言:javascript
运行
复制
<input required="" min="1" max="999999" id="nik" class="form-control " type="number" name="nik" placeholder="E.g: 1234">

有谁知道怎么解决这个问题,我会很高兴的..谢谢..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-13 22:27:03

{{ }}中的所有东西都是PHP,而不是Blade,所以像@error这样的指令在那里是不起作用的。

代码语言:javascript
运行
复制
{{ Form::number('nik', '', [
    'id'=>'nik',
    'min'=>'1',
    'max'=>'999999',
    'class'=>'form-control @error('nik') is-invalid @enderror',
    'placeholder'=>'E.g: 1234',
    'required'
]) }}

取而代之的是用PHP的方式:

代码语言:javascript
运行
复制
'class' => 'form-control' . ($errors->has('nik') ? ' is-invalid' : null),
票数 4
EN

Stack Overflow用户

发布于 2021-08-11 16:09:18

您还可以创建一个helper函数并在视图中使用共享的errors变量。

代码语言:javascript
运行
复制
function add_error($name, $error_class = ' is-invalid ')
{
    $errors = view()->shared('errors');

    return $errors && $errors->has($name) ? $error_class : '';
}

并将其附加到类中。

代码语言:javascript
运行
复制
{{ Form::text('name', null, [
    'id'=>'name',
    'class'=>'form-control' . add_error('name'),
    'placeholder'=>'Name',
    'required'
]) }}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58364412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档