Besoin d'aide ?

Système de validation via une liste déroulante

Avatar de Soufiane1
Soufiane1

Bonjour,

J'aimerais bien savoir si c'est possible de bloquer un item dans une une liste déroulante? Je m'explique, j'ai une table nommé Students avec 3 fields (name, firstname, fk_diploma). J'ai une seconde entité qui se nomme Diplomas avec un champ (type_diploma).

Dans le champ type_diploma, j'ai 3 enregistrements:

  1. DiplomaA
  2. DiplomaB
  3. DiplomaC

Lorsque l'utilisateur complète le formulaire, il faudrait que l'item DiplomaC soit bloqué, est-ce que c'est possible de faire ça?

https://zupimages.net/up/19/27/4rfr.png https://zupimages.net/up/19/27/4rfr.png

J'ai essayé ceci mais sans résultat...

public function store(Request $request)
    {
        $request->validate([
                'name' => 'required|min:3',
                'firstname' => 'required|min:2|max:200',
                'fk_diploma' => 'required|not-in:DiplomaC'
        ]);
 }

Merci pour votre aide.

Posté il y a 9 mois
Avatar de Dom
Dom
public function store(Request $request)

    {

        $request->validate([

                'name' => 'required|min:3',

                'firstname' => 'required|min:2|max:200',

                'fk_diploma' => Rule::notIn(['DiplomaC']),

        ]);

 }

Peux tu essayer comme cela ? Mais le mieux est peut être d'utiliser In https://laravel.com/docs/5.8/validation#rule-in

Par contre, ta clé etrangère c'est une chaine ? Il y a qu'un seul champ dans ta table ?

Posté il y a 8 mois
Avatar de Soufiane1
Soufiane1

Oui merci, j'ai vu qu'on pouvait aussi le faire comme cela:

$this->validate($request, [
    'fk_diploma' => 'required|not_in:DiplomaC',
]);

Merci à toi Dom. ^^

Posté il y a 8 mois

Vous ne pouvez pas répondre à ce sujet.