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

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -