[RUBY] Validé comme "jusqu'à 6 caractères alphanumériques", "seuls les caractères pleine largeur peuvent être utilisés" et "une erreur se produira si le champ est vide"

2020/10/15 Il y a une erreur dans cet article. corriger.

Conclusion

J'ai utilisé ce qui suit.

with_options La validation conditionnelle peut être groupée. Insérez-le à la fin et utilisez-le. presence: true Assurez-vous qu'il n'est pas vide. format: Vérifiez que l'expression régulière décrite dans l'option with correspond à la valeur envoyée.

/ \ A [A-n-n-ichi- 龥] + \ z /

Vérifiez s'il correspond à hiragana, katakana et kanji dans la plage en Unicode. /[a-z\d]{6,}/i Assurez-vous qu'il est sensible à la casse et qu'il comporte au moins 6 lettres ou chiffres. Si vous définissez {6,20}, vous pouvez spécifier qu'il n'y a pas plus de 6 caractères et pas de 20 caractères. message Décrivez ici le message qui apparaît lorsqu'une erreur se produit.

code

models/user.rb


  with_options presence: true, format: { with: /\A[Ah-Hmm-Un-龥]+\z/, message: 'Veuillez utiliser des caractères pleine largeur pour' } do
    validates :family_name
    validates :first_name
  end

  validates :password, format: { with: /[a-z\d]{6,}/i, message: "Peut utiliser 6 caractères alphanumériques ou plus" }

end

Les références

Voir la section d'aide au format du guide Rails. https://railsguides.jp/active_record_validations.html Liste des expressions régulières de base https://murashun.jp/blog/20190215-01.html

Recommended Posts

Validé comme "jusqu'à 6 caractères alphanumériques", "seuls les caractères pleine largeur peuvent être utilisés" et "une erreur se produira si le champ est vide"
La @ Rule'mActivityRule 'doit être publique. Si vous convertissez le test Espresso en Kotlin, une erreur se produira.