如何将值传递给Laravel中的Password字段

时间:2014-07-22 11:26:17

标签: php laravel laravel-4 blade

我正在尝试获取密码字段的值,并以当前形式显示其中一个更新页面

{{ Form::label('Password')}} 

{{ Form::password('password',array('class' => 'form-control') }}

Laravel blade的密码字段语法不允许输入参数,例如文本字段,

{{ Form::label('Email or Username')}} 

{{ Form::text('email',$useremaildata,array('class' => 'form-control')) }} 

现在我找到了一个使用这样的占位符的解决方案,但它不是这样做的礼仪方式。只是分享。

{{ Form::label('Password')}} 

{{ Form::password('password',array('class' => 'form-control','placeholder' => $userpassworddata)) }}

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:8)

简单的答案是你不这样做。密码字段应该很少预先填充,因为Laravel不支持密码字段。

但是,如果确实想要这样做,您可以使用Form::input()

Form::input('password', 'name', 'value')

答案 1 :(得分:1)

我认为这是有效的用例。在我的情况下,我存储了另一个系统的密码,当用户编辑时,我想从数据库中加载先前的值并填充它,因此当用户保存时它不会被清除。

这是一个自定义HTML宏,允许您在密码字段中设置默认值。

start/global.php执行:

/**
 * Custom macro for a masked password field with a default value
 */
 HTML::macro('passwordWithDefault', function($name, $defaultValue = "", $optionsArray) {    
    return Form::input('password', $name, $defaultValue, $optionsArray);
 });

然后在您的HTML或模板中,您可以这样使用它:

HTML::passwordWithDefault('pwdField', Input::old('pwdField', $pwd_value),['class' => 'form-control'])