2016-04-25 6 views
1

Ich benutze Blade-Vorlage, aber ich wusste, dass es eine Möglichkeit gibt, Formularbindung auf HTML-Syntax basierte Form zu verwenden ?. wenn ich es in Klinge Art und Weise zu tun, wäre es wieLaravel Formular Modellbindung durch HTML-Syntax

{{ Form::model($user, array('route' => array('users.update', $user->id), 'method' => 'put')) }} sein würde, aber was ist, wenn ich es verwenden möchten, wie wir ein verstecktes Feld für csrf_token() wie

<input type="hidden" name="_token" value="{{ csrf_token() }}" />

Hier fügen Sie ist mein HTML-Formular-Code :

<form class="form-group" action="/update" method="post" id="EditCommunityForm"> 
<input type="hidden" name="_token" value="{{ csrf_token() }}"> 
<input type="text" name="community_name" class="form-control"> 
</form> 

Edit:

Ich möchte fragen, ob es eine Möglichkeit gibt, diese Syntax {{ Form::model($user, array('route' => array('users.update', $user->id), 'method' => 'put')) }} in Plain HTML zu konvertieren?

+0

ich recht nicht, daß die Frage verstehen, aber man kann den versteckten Eingang für Token wie hinzufügen: {!! carf_field() !!}, die den Adam

+0

Ich möchte fragen, ob es eine Möglichkeit gibt, diese Syntax zu konvertieren '{{Form :: model ($ user, array ('route' => array ('users.update', $ user-> id), 'methode' => 'put'))}} 'in plain HTML? Danke @Adam –

+0

Wenn ich richtig verstanden habe, müssen Sie sich nicht um das csrf-Token kümmern. Es wird automatisch gerendert, wenn Sie '{{Form :: close()}}' ' – CarlosCarucce

Antwort

1

Sie können Modellbindung nicht direkt in HTML tun. Sie müssen Ihr Formular "manuell" ausfüllen. Und in Ihrem Fall müssen wir einen Trick machen, um die Standardmethoden des Browsers zu überschreiben (post/get).

Heres ein Beispiel:

<form action="{{ route('users.update', $user->id) }}" method="post"> 

    <!-- Overwrite post method as 'Put' --> 
    <input type="hidden" name="_method" value="PUT"/> 

    <!-- CSRF token --> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> 

    <!-- Fills an input with a model value --> 
    <input type="text" name="community_name" value="{{ $user->community_name }}"/> 

</form> 
Verwandte Themen