Laravel Form ::文本样式,默认值

时间:2014-04-23 09:28:10

标签: php laravel

我尝试过以下代码:

{{ Form::text('username', 'Usuario', array('class' => 'form-control')) }}

但它失败了,它抛出了这个错误:

ErrorException
htmlentities() expects parameter 1 to be string, array given (View: /mydir/app/views/sessions/create.blade.php)

/mydir/vendor/laravel/framework/src/Illuminate/Support/helpers.php
     * Escape HTML entities in a string.
     *
     * @param  string  $value
     * @return string
     */
    function e($value)
    {
        return htmlentities($value, ENT_QUOTES, 'UTF-8', false);
    }
}

2 个答案:

答案 0 :(得分:0)

我不知道你是否要填写默认值。也许你想使用placeholder。试试:

{{ Form::text('username', null, array(
    'class' => 'form-control', 
    'placeholder' => 'Usuario',
  )) 
}}

答案 1 :(得分:0)

文档api说:

/**
 * Create a text input field.
 *
 * @param  string  $name
 * @param  string  $value
 * @param  array   $options
 * @return string
 */
 public function text($name, $value = null, $options = array())
 {
     return $this->input('text', $name, $value, $options);
 }

这意味着:

// ...is correct
Form::text(   'username', 'Usuario', array('class' => 'form-control')   )

所以这条线不是罪魁祸首。您必须检查堆栈跟踪,找出错误的行。


<强>更新

我看到你在谈论评论的密码字段。使用密码字段的正确方法是:

public function password($name, $options = array())
{
    return $this->input('password', $name, '', $options);
}

你问:

  

好的,我认为就是这样。我的密码字段有一个默认文本。   我不能吗?

答案是

  不,你不能。但你可以尝试Form::input

/**
 * Create a form input field.
 *
 * @param  string  $type
 * @param  string  $name
 * @param  string  $value
 * @param  array   $options
 * @return string
 */
 public function input($type, $name, $value = null, $options = array()) {

所以这样做:(警告未经测试的代码

Form::input('password', 'passwordfield', 'defaultvalue', array('class' => 'myclass'))