php - How to validate radio button/checkbox and must to select one in laravel -
i'm trying validate radio button in laravel. code, doesn't work.
in case, have dynamic form many questions different of type such : radio, checkbook, single input, number input,... have use array name each type of question. example : name="radio['.$k.']".
in controller make validation , $key $k value in initial form.
public function rules() { $rules = []; if (input::has('radio')) { foreach (input::get('radio') $key => $val) { $rules['radio.' . $key] = 'required'; } } if (input::has('singleinput')) { foreach (input::get('singleinput') $key => $val) { $rules['singleinput.'.$key] = 'required|max:10'; } } } public function messages() { $messages = []; if (input::has('radio')) { // code here; } } public function answer_store($survey_id, $patient_id) { $rule = $this->rules(); $message = $this->messages(); $validator = validator::make(input::all(), $rule, $message); } in view:
<input type="radio" name="radio['.$k.']" value="'.$str1.'">'.$answer->answer_body my code works text input type not radio & checkbox. can me?
okay no reply, answer if using laravel 5.
laravel 5 uses requests when submit form. can perform validation on data before executes controller.
firstly use terminal run artisan command
php artisan make:request myrequest this create file in app\http\requests.
put in new request file
<?php namespace app\http\requests; use app\http\requests\request; class myrequest extends request { /** * determine if user authorized make request. * * @return bool */ public function authorize() { return true; } /** * validation rules apply request. * * @return array */ public function rules() { return [ 'myradios' => 'required' ]; } } in view, have radios following, ensuring group of radios want have same name.
<input type="radio" name="myradios" value="1"> number 1 <input type="radio" name="myradios" value="2"> number 2 <input type="radio" name="myradios" value="3"> number 3 in controller need reference request file , put function using dependency injection.
when want use value of radio selected, use $request array
<?php namespace app\http\controllers; use app\http\requests; use app\http\controllers\controller; use illuminate\http\request; use app\http\requests\myrequest; class mycontroller extends controller { /** * display listing of resource. * * @return response */ public function myformfunction(myrequest $request) { //get value of radio selected $myvariable = $request['myradios']; } } ?>
Comments
Post a Comment