フォームのラベルを作成する


forms

 悩み事

フォームのラベルを作成したい

LaravelのFormファサードを利用してみましょう

 解決方法

Form::label()メソッドを利用します

2つの引数を利用します (名前と値)

{{Form::label('name', 'Your Name')}}

これは下記の様に出力されます

<label for="name">Your Name</label>

第三引数に配列を利用すると属性を追加することができます。

{{Form::label('name', 'Your Name', ['class' => 'mylabel'])}}

'class'が追加されます

<label for="name" class="mylabel">Your Name</label>

 アドバイス

'値'の引数を省略する事も可能です

引数が省略されている場合でも適切に出力されます

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

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

次の様に出力されます

<label for="first_name">First Name</label>
<label for="phone_number">Phone Number</label>

Form::label() を使うと、関連付くエレメントに自動でIDを生成します

ラベルの for で関連付くエレメントに idが無い場合はに、自動でidを作成します

{{Form::label('testing')}}
{{Form::text('testing')}}

上記の様に記述した場合はidを指定していない場合は下記の様に出力されます

<label for="testi">Testi</label>
<input name="testing" type="text" id="testing">

これはFormファサードを利用して生成した場合にのみ作用します


Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa