我正在尝试习惯使用Laravel的刀片。
我想创建一个名为company的文本输入。
输入字段需要有一个id和一个类。
如果数据库中没有数据,或者存储的数据已存在,我还想显示一个占位符。
最后,我想在出现错误的情况下保留引入的输入。
我想在此处使用类似的东西:
{{ Form::text(
'company',
isset($user->company)?$user->company:array('placeholder'=>'Your company'),
array('class' => 'field required', 'id' => 'company'),
Input::old('company')
) }}
任何帮助将不胜感激。谢谢!
答案 0 :(得分:3)
简单方法,使用form model binding:
{{ Form::model($user, [ ...options...]) }}
{{ Form::text(
'company', // refers to $user->company
null, // auto populated with old input in case of error OR $user->company
array('class' => 'field required', 'id' => 'company',
'placeholder' => 'Your company') // placeholder is html attribute, don't use model data here
) }}
如果您不想要表单模型绑定,这就是您所需要的:
{{ Form::text(
'company',
$user->company, // auto populated with old input in case of error
array('class' => 'field required', 'id' => 'company',
'placeholder' => 'Your company')
) }}
答案 1 :(得分:1)
发现它!
如果我这样做,它对我来说很好:
{{ Form::text(
'company',
Input::old( 'company', $user -> company ) ,
array( 'class' => 'field required', 'id' => 'company', 'placeholder' => 'Your company' )
) }}
答案 2 :(得分:0)
只要POST数据中的键与输入的name
属性相同,Laravel就会为您处理重新填充的输入。
使用Form::text()
,第一个参数是字段名称,第二个参数是您想要的默认值,第三个参数是您想要设置的HTML属性数组。所以,你会有:
{{ Form::text('company', null, array(
'class' => '',
'id' => '',
'placeholder' => '',
)) }}
显然已将class
,id
和placeholder
值替换为您想要的值。