[RUBY] [Rails] Personnaliser la validation de l'appareil

En premier

Lors de l'utilisation de l'appareil pour implémenter une nouvelle fonction d'enregistrement d'utilisateur J'ai donné la validation, mais la validation n'a pas été appliquée et j'ai eu du mal à la mettre en œuvre, je vais donc la laisser sous forme de mémorandum.

concevoir la validation par défaut

concevoir est un bijou qui facilite la mise en œuvre de la fonction d'authentification, mais il était difficile pour moi en tant que débutant de comprendre ce que je faisais invisible parce que le bijou fonctionnait tout seul. C'est la raison pour laquelle il n'a pas été appliqué même s'il a été validé.


 = form_for(@user, url: user_registration_path) do |f|  
 = f.password_field: mot de passe, classe: "main__box__bottom__content__group2__form", espace réservé: "7 caractères alphanumériques demi-largeur ou plus",

La conclusion était que le formulaire utilisait password_field, donc Rails semble reconnaître ce formulaire de saisie comme un mot de passe et effectuer automatiquement une simple validation.

concevoir une procédure de personnalisation

1. Modifiez le formulaire (au formulaire approprié)

Correction de password_fileld à text_field.

 = form_for(@user, url: user_user_registration_path) do |f|  
  = f.text_field :password
end

Cela le reconnaît comme une colonne de mot de passe.

2. concevoir les paramètres de validation

Cependant, si vous validez l'ajout de la colonne mot de passe du modèle, celle-ci sera double validée, donc Ajout de la validation de l'appareil: supprimez validable

class User < ApplicationRecord
 devise :database_authenticatable, :registerable,
  :recoverable, :rememberable, :validatable 
 # ↑ Supprimer.
end

Désormais, la validation de votre appareil n'est plus requise et le mot de passe reçoit désormais votre propre validation personnalisée.

Résumé

・ La validation a la priorité de se référer à Validation donnée au champ texte> concevoir> Validation auto-réalisée Il est devenu. -Si vous souhaitez appliquer uniquement la validation personnalisée, utilisez text_field et supprimez: validable de devise.

Les références

https://qiita.com/kouheiszk/items/215afa01eeaadbd99340

Recommended Posts

[Rails] Personnaliser la validation de l'appareil
[Rails] concevoir
[rails] Définir la validation
[Rails] Présentation du dispositif
[Rails5] Rspec -validation-
Manipuler le dispositif avec des rails
[Rails] conçoit une méthode d'introduction
[rails] concevoir les valeurs par défaut
[Rails] Annuler / modifier la validation du mot de passe du périphérique définie par défaut
[Rails] Comment modifier et personnaliser les vues et les contrôleurs de conception
Qu'est-ce que Rails Gem Concevoir?
[Rails] Le nom de famille japonais le plus long (validation)
[Rails] Flux lors de l'installation du dispositif de gemmes
(Pour les débutants) [Rails] Installer Devise
[Rails] Ajouter une colonne à concevoir
[Rails] Comment utiliser la validation
Résumé de la validation Ruby on Rails
[rails] erreur lors de l'installation du périphérique
[Rails] Comment utiliser la "devise" des gemmes
[Rails] Comment utiliser l'appareil (Remarque)
[Rails] Paramètre de délai d'expiration de session dans l'appareil
[rails] Implémentation de l'écran de connexion dans la devise
[Diviser] rails memo Paramètres de base Paramètres initiaux
[Rails] Paramètres de validation et localisation en japonais
[Rails] [Devise] Modifier le profil sans saisir de mot de passe
Ruby On Rails conçoit un conflit de routage
[Rails] Ajoutez des paramètres forts pour concevoir
[Rails 6] Personnaliser Bootstrap dans l'environnement Rails + Bootstrap 5.0.0-alpha
Créer ma page avec Rails
[Rails] Gérez plusieurs modèles à l'aide de la gemme de devise
[Rails] Restrictions de fonction dans l'appareil (connexion / déconnexion)
[Rails] Utiliser la validation sur un contrôleur spécifique
[Note] Comment utiliser Rails 6 Devise + cancancan
[Rails] Mise en œuvre de la validation qui maintient l'unicité
[Rails] Comment traduire la devise en japonais
Validation des rails et null: fausses notes personnelles