8

こんにちは、現在 Laravel 4 フォームを使用しています。「デフォルト値」を選択せず​​に特定のクラスでテキスト入力を生成するのに苦労しています。私は次のことをしたい:

{{ Form::text('first_name', array('class' => 'first_name')) }}

htmlentities() expects parameter 1 to be string, array givenただし、デフォルト値を追加しない限り、このエラー ( .) が発生します。

{{ Form::text('first_name', 'Some Value', array('class' => 'first_name')) }}

次に、デフォルト値がフィールドに取り込まれ、新しい値を入力する前に削除する必要があります。そのため、プレースホルダーのように使用することさえできません。

前もって感謝します、

ダン

4

3 に答える 3

21

値の代わりに、 を指定しますnull。(空の文字列を指定しないでください"")

フォーム モデル バインディング ( http://laravel.com/docs/html#form-model-binding )を使用する場合、これは将来便利になります。これnullは、指定されたモデル属性の値が得られるためです。

于 2013-10-30T13:37:52.267 に答える
6

""次のような空の値を渡すことができます。

{{ Form::text('first_name', '', array('class' => 'first_name')) }}

Laravel 4 のHTML Form BuilderAPI は、最初のパラメーターを として受け入れname、2 番目のパラメーターvaluenullデフォルトで として受け入れ、3 番目のパラメーターはデフォルトでoptions arrayとして受け入れempty arrayます。

したがって、基本的には、次のような名前のみを渡すことでテキスト入力を作成できます。

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

また、3 番目の引数であるオプションを渡す予定がある場合は、2 番目の引数も渡す必要があります。

ここで API Doc を参照してください http://laravel.com/api/source-class-Illuminate.Html.FormBuilder.html#235-246

于 2013-10-30T15:26:46.217 に答える
-2

Input::old('first_name')次のように、単に "" ではなく、デフォルト値にを使用する方が良いことがわかりました。

{{ Form::text('first_name', Input::old('first_name')) }}

このようにして、無効なデータを含むフォームに戻ってフォーム入力を渡すと、ユーザーが以前に入力した古い入力がリロードされます。この場合、first_nameは、データベース テーブルのfirst_nameフィールドにもバインドできます。

編集: はい、3 番目のオプションは、テキスト フィールド ID、サイズなど、またはその他の HTML 属性などの入力オプションの配列です。

キーナン:)

于 2014-04-14T12:07:20.593 に答える