Laravel & Laravel 集体 HTML/Forms 错误

Laravel & LaravelCollective HTML/Forms Error

我正在构建一个带有用户名和密码的简单表单。

当我像这样构建用户名字段时:

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

我的页面加载没有问题。只要我想定义一个 class 这样的:

{{ Form::text('username', ['class' => 'awesome']) }}

我得到一个错误,像这样:

ErrorException in HtmlBuilder.php line 65:
htmlentities() expects parameter 1 to be string, array given

无法在线找到有关此错误的任何信息。这些示例直接取自 LaravelCollective 文档。

有什么想法吗?谢谢!

如果你用的是Laravel 5你应该这样写:

{!! Form::text() !!}

不是这样的:

{{ Form::text() }}

您还可以将属性数组作为第二个参数给出,这是此输入的默认值。请更改为:

{!! Form::text('your_name', null, ['class' => 'someclass']) !!}

您应该像这样在第三个参数中传递 class:

{{ Form::text('username', null, ['class' => 'awesome']) }}

或:

{{ Form::text('username', '', ['class' => 'awesome']) }}

第二个参数为值字段

查看 source code,预期参数为:

Form::text($name, $value = null, $options = [])

第二个参数用于指定表单元素的默认值。所以要定义一个class,你应该将数组传递给第三个参数:

Form::text('username', null, ['class' => 'awesome'])

如果您正在使用 laravel 5.4 你不应该像这样laravel集体html形式使用双卷曲

{{ Form::() }}

试试这个

{!! Form::text('username', $value = null, ['class' => 'awesome']) !!}