Besoin d'aide ?

Système de validation via une liste déroulante

  • Avatar de Soufiane1
    Membre depuis :
    09/03/2019
    Messages :
    19

    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.

  • Avatar de Dom
    Membre depuis :
    17/07/2017
    Messages :
    37
    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 ?

  • Avatar de Soufiane1
    Membre depuis :
    09/03/2019
    Messages :
    19

    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. ^^

Vous ne pouvez pas répondre à ce sujet.