Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

danyal14's avatar

Laravel Blade Form

Hi Guys,

I would like to ask, what is the major difference using these 2 method of defining form in blade?

    {!! Form::model(\App\Model::class, ['route' => ['app.transaction.update', $transaction->id], 'method' => 'put', 'classs' => 'form', 'novalidate' => 'novalidate']) !!}
    {!! Form::close() !!}

    <form method="POST" action="/profile">
    </form>
0 likes
2 replies
Lunah's avatar
Lunah
Best Answer
Level 3

The first uses the HTML & Form package to provide convenient methods of creating forms but has since been removed from Laravel. You would need this package (https://laravelcollective.com/docs/master/html) to have access to those methods, to be honest, this is an outdated way of creating forms, while it does provide some helpful functionality, it's nothing that can't be done quite easily using vanilla HTML or existing Laravel functionality.

The second is basic HTML.

The preferred way, in my opinion would be standard HTML with named routes for setting the action.

<form method="POST" action="{{ route('route.name') }}">
</form>
danyal14's avatar

@LUNAH - That's make sense, I was trying to find a reason laravelcollective/html was used in old project of Laravel 5.4. And since Laravel 5.7 done's have this anymore in framework, I decided to refactor it.

And seek the valid opinion, thanks for the detailed answer.

Please or to participate in this conversation.