首页 > 解决方案 > 未定义变量:必需

问题描述

我尝试为我的 laravel 项目制作一些可重用的代码。

我创建了一个刀片文件调用字段。

注意:此文件将调用我不必一遍又一遍地编写相同代码的每个表单页面。

<div class="form-group" id="{{ $name }}-group">
{!! Form::label($label) !!}
{!! Form::$type($name, null, [
    'class'                         => 'form-control',
    'required'                      => $required ? $required : 'required',
    'placeholder'                   => $label,
    'data-parsley-required-message' => $label.' is required',
    'data-parsley-trigger'          => 'change focusout',
    'data-parsley-pattern'          => $pattern ?  $pattern: '/^[a-zA-Z]*$/',
    'data-parsley-minlength'        => $minlength ? $minlength : '2',
    'data-parsley-maxlength'        => $maxlength ? $maxlength : '32',
    'data-parsley-class-handler'    => '#'.$name.'-group'
    ]) !!}

在我的表单页面中,我只是像这样调用字段文件。

注意:我在字段文件中设置了一些默认值的变量,所以每当我需要更改默认值时,我只需调用里面的变量。

@include('backend.partials._Field', [
                    'type' => 'text',
                    'name' => 'first_name',
                    'label' => 'First Name',
                ])

我收到未定义变量的错误:必需。我知道我可以在表单页面中调用所需的变量,它将解决我的问题,但我想要默认数据和我不想在表单页面中调用的变量。

请任何人有任何解决方案。

标签: phplaravellaravel-blade

解决方案


将其转换为答案...

只需更改$required ? $required : 'required'isset($required) ? $required : 'required',它应该可以工作。

您还可以使用null-coalesce 运算符- 'required' => $required ?? 'required'


推荐阅读