Salut,
je me forme à Laravel et j'ai un petit doute sur la façon dont je gère les checkbox.
J'ai un formulaire simple avec 2 champs text et une checkbox qui peut être cochée ou non.
Coté model j'ai ca :
Et dans mon controller je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class Permission extends Model { protected $guarded = []; public $timestamps = false; public static function getValidationRule(): array { return [ 'label' => 'required', 'key' => 'required|unique:permissions,key', 'visible' => 'integer' ]; } }
Je gère donc manuellement la présence ou non de la valeur "visible" puisque si elle est décochée elle n'est pas transmise dans la requête. Sachant que la valeur par défaut dans la base est à 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public function store(Request $request) { $validatedAttr = request()->validate(Permission::getValidationRule()); if(!$request->has('visible')) { $validatedAttr['visible'] = 0; } Permission::create($validatedAttr); return redirect('/admin/permission/index'); }
Y'a t'il plus académique à faire ou alors c'est la bonne façon de faire ?
Partager