首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 4表单文本输入

Laravel 4表单文本输入
EN

Stack Overflow用户
提问于 2013-10-30 21:18:40
回答 3查看 20.2K关注 0票数 8

你好,我目前正在使用Laravel 4表单。我很难在没有选择“默认值”的情况下生成一个带有特定类的文本输入。我想做以下几件事:

代码语言:javascript
复制
{{ Form::text('first_name', array('class' => 'first_name')) }}

然而,我得到了这个错误(htmlentities() expects parameter 1 to be string, array given。)除非我添加一个默认值:

代码语言:javascript
复制
{{ Form::text('first_name', 'Some Value', array('class' => 'first_name')) }}

然后,默认值将填充该字段,并且需要在输入新值之前将其删除。所以它甚至不能像占位符一样使用。

先谢谢你,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-30 21:37:52

不提供值,而是提供null。(不提供空字符串"")

如果您打算使用Form Model Binding (http://laravel.com/docs/html#form-model-binding),这将在将来派上用场,因为null将给出给定模型属性的值。

票数 21
EN

Stack Overflow用户

发布于 2013-10-30 23:26:46

您可以传递一个空值"",如下所示

代码语言:javascript
复制
{{ Form::text('first_name', '', array('class' => 'first_name')) }}

因为Larave4的HTML Form Builder接口接受第一个参数为name,第二个参数为value,默认情况下为null,第三个参数为options array,默认情况下为empty array

所以基本上你可以通过只传递名字来构建文本输入,

代码语言:javascript
复制
{{ Form::text('first_name') }}

如果你打算传递选项,这是第三个参数,你也必须传递第二个参数。

请参阅此处的API文档http://laravel.com/api/source-class-Illuminate.Html.FormBuilder.html#235-246

票数 6
EN

Stack Overflow用户

发布于 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属性。

基南:)

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19683380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档