你好,我目前正在使用Laravel 4表单。我很难在没有选择“默认值”的情况下生成一个带有特定类的文本输入。我想做以下几件事:
{{ Form::text('first_name', array('class' => 'first_name')) }}然而,我得到了这个错误(htmlentities() expects parameter 1 to be string, array given。)除非我添加一个默认值:
{{ Form::text('first_name', 'Some Value', array('class' => 'first_name')) }}然后,默认值将填充该字段,并且需要在输入新值之前将其删除。所以它甚至不能像占位符一样使用。
先谢谢你,
丹
发布于 2013-10-30 21:37:52
不提供值,而是提供null。(不提供空字符串"")
如果您打算使用Form Model Binding (http://laravel.com/docs/html#form-model-binding),这将在将来派上用场,因为null将给出给定模型属性的值。
发布于 2013-10-30 23:26:46
您可以传递一个空值"",如下所示
{{ Form::text('first_name', '', array('class' => 'first_name')) }}因为Larave4的HTML Form Builder接口接受第一个参数为name,第二个参数为value,默认情况下为null,第三个参数为options array,默认情况下为empty array。
所以基本上你可以通过只传递名字来构建文本输入,
{{ Form::text('first_name') }}如果你打算传递选项,这是第三个参数,你也必须传递第二个参数。
请参阅此处的API文档http://laravel.com/api/source-class-Illuminate.Html.FormBuilder.html#235-246
发布于 2014-04-14 20:07:21
我发现最好使用Input::old('first_name')作为默认值,而不是只使用"",例如:
{{ Form::text('first_name', Input::old('first_name')) }}
这样,如果您返回带有无效数据的表单并传递表单输入,它将重新加载用户先前输入的旧输入。在这种情况下,first_name也可以绑定到数据库表中的first_name字段。
Edit:是的,第三个选项是一组输入选项,比如文本字段id、大小等或任何其他HTML属性。
基南:)
https://stackoverflow.com/questions/19683380
复制相似问题