J'ai la regex suivante que j'utilise dans mes routes.rb pour / type in-quelque chose - ici dans les itinéraires qui fonctionne bien comme: p> validates_format_of :uuid, :with => /[A-Za-z\d]([-\w]{,498}[A-Za-z\d])?/i, :message => "Invalid! Alphanumerics only."
3 Réponses :
Utiliser quelque chose comme ceci pour plus de chèque Ce p> p>
Cela fonctionne bien pour moi, mais la corse de fermeture est dans l'endroit incorrect de cet exemple. Il devrait être: valide: UUID,: format => {: avec => /.../i,: message => "..."} code>
à des fins de validation, n'oubliez pas d'ajouter le début et la fin des marqueurs de chaîne sinon votre Regex correspondra heureusement à n'importe quelle chaîne contenant au moins une lettre ou un chiffre. Pour une raison quelconque, les rails ajoute implicitement les limites des itinéraires. (Probablement parce qu'il incorpore la regex à l'intérieur d'un plus gros pour correspondre à l'URL entière, avec des contrôles explicites pour \ a code> et \ z code>: / code> et la fin de l'URL.) P> p> p>
Notez que l'utilisation de \ z code> à la fin de la regex permet une nouvelle ligne de fin. Vous voulez probablement \ z code> à la place. (Toutes mes excuses pour commenter un ancien problème.)
validates :name, format: { with: /\A[a-zA-Z]+\z/,
message: "Only letters are allowed" }