在 Laravel 中添加额外属性(class)后,从 "Form::model" 自动填充 "Form::text"
Auto populate "Form::text" from "Form::model" after adding extra attribute(class) in Laravel
我目前正在 laravel using the laravelcollective plugin 中呈现和填充表单。这按预期工作:
{!! Form::model($user, ['action' => 'user@updateUser']) !!}
<div class="form-group">
{!! Form::label('user_name', 'Name') !!}
{!! Form::text('user_name') !!}
</div>
<button class="btn btn-success" type="submit">Update</button>
{!! Form::close() !!}
以上代码生成表单并使用用户名填充输入字段。
如果我想像这样向表单输入添加 class 属性:
{!! Form::text('user_name', '', ['class' => 'form-control']) !!}
它不会填充输入值,因为理论上我已将默认值(第二个参数)设置为 ''
。
有没有一种方法可以填充值并添加 class 而无需像这样明确地这样做:
{!! Form::text('user_name', $user->user_name, ['class' => 'form-control']) !!}
通过执行上述操作,它破坏了通过模型 {!! Form::model($user, ['action' => 'user@updateUser']) !!}
呈现表单的对象,因为我也可以将 $user
作为变量解析到模板上,这是我不想要的要做。
那你可以用null
代替""
空白
{!! Form::text('user_name', null , ['class' => 'form-control']) !!}
你也可以使用old
函数
{!! Form::text('user_name', $user->user_name or old('user_name'), ['class' => 'form-control']) !!}
这个$user->user_name or old('user_name')
可以表示为
如果 $user->user_name
存在,则输入 $user->user_name
的值,否则检查 old input
第一次是 ""
空白,如果你重定向回来,则有一些值错误来了。
或简单地使用isset
方法或在php 7中使用$user->user_name ?? ''
{!! Form::text('user_name', $user->user_name ?? '', ['class' => 'form-control']) !!}
我目前正在 laravel using the laravelcollective plugin 中呈现和填充表单。这按预期工作:
{!! Form::model($user, ['action' => 'user@updateUser']) !!}
<div class="form-group">
{!! Form::label('user_name', 'Name') !!}
{!! Form::text('user_name') !!}
</div>
<button class="btn btn-success" type="submit">Update</button>
{!! Form::close() !!}
以上代码生成表单并使用用户名填充输入字段。
如果我想像这样向表单输入添加 class 属性:
{!! Form::text('user_name', '', ['class' => 'form-control']) !!}
它不会填充输入值,因为理论上我已将默认值(第二个参数)设置为 ''
。
有没有一种方法可以填充值并添加 class 而无需像这样明确地这样做:
{!! Form::text('user_name', $user->user_name, ['class' => 'form-control']) !!}
通过执行上述操作,它破坏了通过模型 {!! Form::model($user, ['action' => 'user@updateUser']) !!}
呈现表单的对象,因为我也可以将 $user
作为变量解析到模板上,这是我不想要的要做。
那你可以用null
代替""
空白
{!! Form::text('user_name', null , ['class' => 'form-control']) !!}
你也可以使用old
函数
{!! Form::text('user_name', $user->user_name or old('user_name'), ['class' => 'form-control']) !!}
这个$user->user_name or old('user_name')
可以表示为
如果 $user->user_name
存在,则输入 $user->user_name
的值,否则检查 old input
第一次是 ""
空白,如果你重定向回来,则有一些值错误来了。
或简单地使用isset
方法或在php 7中使用$user->user_name ?? ''
{!! Form::text('user_name', $user->user_name ?? '', ['class' => 'form-control']) !!}