如何使用 Laravel Collective 在表单标签中包含 html?
How can I include html within a form label using Laravel Collective?
通读 this SO thread 我了解到我可以创建一个新宏来创建自定义表单输入。
我是 Laravel 开发的新手(大惊喜),这么小的东西似乎有点矫枉过正。有没有一种 "simpler" 的方法可以得到这样的东西:
blade模板
{!!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,然后使用表单服务创建输入的情况吗?
感谢您的耐心和洞察力。
Form
class 属性将始终被转义(它们在 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']) !!}
也许回答晚了,但你可以这样做:
{!! Html::decode(Form::label('firstName','FirstName: <sup>*</sup>')) !!}
{!! Form::text('firstName', null, ['class'=>'required']) !!}
执行此操作的简单方法是
{!! Form::label('labelFor','labelText',[],false) !!}
最后一个参数是$escape_html,默认值为"true"。
{!! Html::decode(表格::标签('email', 'E-Mail Address', ['class' => 'text-muted'])) !!}
解决这类问题要好得多
通读 this SO thread 我了解到我可以创建一个新宏来创建自定义表单输入。
我是 Laravel 开发的新手(大惊喜),这么小的东西似乎有点矫枉过正。有没有一种 "simpler" 的方法可以得到这样的东西:
blade模板
{!!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,然后使用表单服务创建输入的情况吗?
感谢您的耐心和洞察力。
Form
class 属性将始终被转义(它们在 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']) !!}
也许回答晚了,但你可以这样做:
{!! Html::decode(Form::label('firstName','FirstName: <sup>*</sup>')) !!}
{!! Form::text('firstName', null, ['class'=>'required']) !!}
执行此操作的简单方法是
{!! Form::label('labelFor','labelText',[],false) !!}
最后一个参数是$escape_html,默认值为"true"。
{!! Html::decode(表格::标签('email', 'E-Mail Address', ['class' => 'text-muted'])) !!}
解决这类问题要好得多