未定义的变量:必需

时间:2018-06-08 01:57:52

标签: php laravel laravel-blade

我尝试为我的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',
                ])

我得到了Undefined变量的错误:required。我知道我可以在表单页面中调用所需的变量,它将解决我的问题,但我希望默认数据与我不想在表单页面中调用的变量。

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

1 个答案:

答案 0 :(得分:0)

将此转换为答案......

只需将$required ? $required : 'required'更改为isset($required) ? $required : 'required'即可。

您还可以使用t he null-coalesce operator - 'required' => $required ?? 'required'