我尝试为我的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。我知道我可以在表单页面中调用所需的变量,它将解决我的问题,但我希望默认数据与我不想在表单页面中调用的变量。
任何人都有任何解决方案。
答案 0 :(得分:0)
将此转换为答案......
只需将$required ? $required : 'required'
更改为isset($required) ? $required : 'required'
即可。
您还可以使用t he null-coalesce operator - 'required' => $required ?? 'required'
。