I was wondering if some Laravel guys can help out.
I have a form in which i have 2 radio buttons, when the form submits it goes through the validator, if the validator fails it comes back to the form, populates the fields with the input and displays error messages.
I cant seem to do this for radio buttons, if one is clicked when the form is submitted and there was an error, it comes back to the form with everything filled out EXCEPT the radio button that was checked is now empty.
My radio buttons are as follows:
<input type="radio" name="genre" value="M" class="radio" id="male" />
<input type="radio" name="genre" value="F" class="radio" id="female" />
<span class="error">{{ $errors->first('genre') }}</span>
Any help would be greatly appreciated.
I tried simply using Input::get() instead of Input::old().... and it's worked!!
{{Form::radio('estado','V',(Input::get('estado')=="V"))}}
The bug is known : - https://github.com/laravel/laravel/issues/2069 - https://github.com/laravel/framework/issues/1564
You have a temporary solution in the second link.
I've just stumbled into this and I don't want to keep repeating such conditions on every form, so I've created a function on my Helper class.
Helper.php:
So, now on my forms, I just use it like this:
Each option passes its name and value to the helper function and the previously selected one will print 'checked'. Additionally, an option can pass 'true' as the third parameter so it gets selected if there was no old input.
My approach is a nested shorthand if/else statement with blade syntax. This solution considers also the initial value that is set in the database.
Tested with Laravel 5.7.
You could do this:
You can try this using Laravel's out of the box HTML radio... Laravel Docs Form checkboxes and Radio
Using blade,
Or just php,