Valider facilement une adresse IP dans un modèle Ruby on Rails

Valider les attributs des modèles avant de sauvegarder dans la base de données est essentiel. Dans le cas des adresses IP, qu’on parle d’IPv4 ou d’IPv6, la validation par regex peut être longue à écrire, sans parler du risque d’erreur.

La solution ne se trouve pas très loin, puisque la libraire Resolv nous fournit les regexp de validation.

Dans le cas de l’IPv4, il suffit d’utiliser la constante Resolv::IPv4::Regex :

class MyModel < ApplicationRecord
  ...
  validates_format_of :ip4, with: Resolv::IPv4::Regex
  ...
end

Et dans le cas de l’IPv6, c’est la constante Resolv::IPv6::Regex qui nous intéresse :

class MyModel < ApplicationRecord
  ...
  validates_format_of :ip6, with: Resolv::IPv6::Regex
  ...
end
Newsletter

Publié par

Benj

Artisan du web à plusieurs facettes, du développement à la gestion de produits complexes en passant par le pilotage de projets internationaux.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

six − cinq =