[RUBY] Personnalisation de la validation

Aperçu

Lors de la création d'une application personnelle, un événement s'est produit qui a soudainement rendu impossible l'inscription en tant que groupe: cri:

La cause était la validation que j'ai ajoutée au modèle des utilisateurs: persévérer: (Pour trouver la cause, j'ai créé l'application à partir de zéro et j'ai passé 4 jours à en parler ...)

Je vais le laisser comme un mémorandum!

Statut d'erreur

Écran d'inscription de groupe

スクリーンショット 2020-06-08 17.43.29.png Un événement s'est produit dans lequel l'enregistrement de groupe qui était auparavant possible ne peut pas être effectué: zap:

Journal

スクリーンショット 2020-06-08 17.44.13.png

En regardant le journal, les paramètres sont ROLLBACKed même s'ils sont correctement récupérés: rolling_eyes: Le contenu de l'erreur est ** invalide **.

Cause

Le mauvais code était la validation que j'ai ajoutée au modèle des utilisateurs: en colère:

app/models/user.rb


  validates :password, presence: true, length: {minimum: 8 }

Un mot de passe de 7 caractères ou moins est une description qui provoque une erreur.

Peut-être que la validation ajoutée au modèle utilisateur a rendu nécessaire l'obtention de données de mot de passe lors de l'enregistrement d'un groupe? ?? C'est ça? ?? Si quelqu'un sait, faites-le moi savoir: bow_tone1:

Solution

Je l'ai résolu en ajoutant une option à la validation ajoutée au modèle des utilisateurs!

app/models/user.rb


  validates :password, presence: true, length: {minimum: 8 },on: :create

La validation n'est utilisée que lors de l'inscription en tant qu'utilisateur! Cela signifie que.

Impressions

Tout d'abord, il s'agit d'un événement qui est soudainement devenu impossible à enregistrer et dont la cause a été trouvée en recréant l'application à partir de zéro dans une situation où la cause est inconnue. .. .. C'était vraiment douloureux: sanglotez: Je l'ai résolu en ajoutant seulement 11 caractères de code, mais d'une certaine manière, je pense que j'en ai beaucoup: rire:

référence

● J'ai trouvé un indice pour résoudre la validation du mot de passe. https://qiita.com/noriya1217/items/f0e887f3a7b2c7f83722

● J'ai évoqué les options de validation. https://qiita.com/Shantti-Y/items/19ea23b81f3421063fc5

Recommended Posts

Personnalisation de la validation
Validation des messages du journal à l'aide de mockito
Implémentation de la validation à l'aide d'expressions régulières
12 du tableau
[Rails] Mise en œuvre de la validation qui maintient l'unicité
RSpec-Résultats de la révision du code de test pour la «validation des utilisateurs»
Gestion collective des erreurs de validation Spring avec @ControllerAdvice
J'ai besoin de la validation de Spring Data pour Pageable ~