8

您好,我目前正在使用 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')) }}

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

先感谢您,

4

3 回答 3

21

而不是一个值, supply null。(不提供空字符串""

如果您要使用表单模型绑定(http://laravel.com/docs/html#form-model-binding),这将在未来派上用场,因为null它将给出给定模型属性的值。

于 2013-10-30T13:37:52.267 回答
6

您可以传递一个空值"",例如,

{{ Form::text('first_name', '', array('class' => 'first_name')) }}

因为 Laravel 4 的HTML Form BuilderAPI 将接受第一个参数 as name,第二个参数默认为 as valuenull第三个参数默认options array为 an empty array

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

{{ Form::text('first_name') }}

如果您打算传递作为第三个参数的选项,则还必须传递第二个参数。

在此处查看 API 文档http://laravel.com/api/source-class-Illuminate.Html.FormBuilder.html#235-246

于 2013-10-30T15:26:46.217 回答
-2

我发现最好使用Input::old('first_name')默认值而不是仅使用“”,例如:

{{ Form::text('first_name', Input::old('first_name')) }}

这样,如果您返回带有无效数据的表单并传递表单输入,它将重新加载用户先前输入的旧输入。在这种情况下,first_name也可以绑定到数据库表中的first_name字段。

编辑:是的,第三个选项是一组输入选项,例如文本字段 id、大小等或任何其他 HTML 属性。

基南:)

于 2014-04-14T12:07:20.593 回答