阅读this SO thread我已经读过我可以创建一个新宏来创建自定义表单输入。
我是Laravel开发的全新(大惊喜)&对于这么小的事情来说,这似乎有点过头了。有这样一种“更简单”的方法:
刀片模板
{!!Form::label('firstName', 'First Name<sup>*</sup>') !!}
{!! Form::text('firstName', null, ['class'=>'required']) !!}
HTML
<label for="firstName">First Name*</label>
<input type="text" name="firstName" class="required">
或者,这是我编写html,然后使用表单服务创建输入的情况吗?
感谢您的耐心和洞察力。
答案 0 :(得分:20)
执行此操作的简单方法是
{!! Form::label('labelFor','labelText',[],false) !!}
最后一个参数是$ escape_html,其默认值为“true”。
答案 1 :(得分:5)
Form
类属性将始终被转义(它们在Laravel 4中并且仍然使用Laravel Collective的5+支持),因此不允许使用HTML。由于您的需求非常简单,我建议您只编写简单的HTML。
如果你想要过度杀戮,可能会在AppServiceProvider.php
:
Form::macro('labelWithHTML', function ($name, $html) {
return '<label for="'.$name.'">'.$html.'</label>';
});
然后,在您的Blade模板中:
{!! Form::labelWithHTML('firstName', 'First Name<sup>*</sup>') !!}
{!! Form::text('firstName', null, ['class'=>'required']) !!}
答案 2 :(得分:-1)
也许现在回答很晚,但你可以这样做:
{!! Html::decode(Form::label('firstName','FirstName: <sup>*</sup>')) !!}
{!! Form::text('firstName', null, ['class'=>'required']) !!}