Louche fügt allgemeine Validatoren für ActiveModel/ActiveRecord-Klassen hinzu.
Fügen Sie diese Zeile zur Gemfile Ihrer Anwendung hinzu:
gem 'louche'
Louche bietet einige Validatoren zur Verwendung in Ihren ActiveModel/ActiveRecord-Klassen. Sie können alle Validatoren mit einer symbolisierten Kleinbuchstabenversion ihres Präfixes als Schlüssel und true
als Wert verwenden. Zum Beispiel für EmailValidator
:
class User < ApplicationRecord
validates :email , email : true
end
Wenn Sie die Standardoptionen anpassen möchten, können Sie optional einen Hash als Wert übergeben:
class User < ApplicationRecord
validates :email , email : { regex : /^.*@.*$/ , message : :blank }
end
Hier sind die Validatoren, die Louche zusammen mit ihren jeweiligen Optionen bereitstellt:
EmailValidator
class User < ApplicationRecord
validates :email , email : true
end
User . new ( email : '[email protected]' ) . valid? # => true
User . new ( email : 'foo@example' ) . valid? # => false
Option | Beschreibung |
---|---|
:regex | Der zur Validierung der E-Mail verwendete reguläre Ausdruck (Standard: /A([^@s]+)@((?:[-a-z0-9]+.)+[az]{2,})z/i ) |
:message | Die zu den Datensatzfehlern hinzugefügte ActiveRecord-Nachricht (Standard: :invalid_email ) |
URLValidator
class User < ApplicationRecord
validates :website , url : true
end
User . new ( website : 'http://example.com' ) . valid? # => true
User . new ( website : 'example.$$$' ) . valid? # => false
Option | Beschreibung |
---|---|
:schemes | Die zuzulassenden URI-Schemata (Standard: %w(http https) ) |
:message | Die zu den Datensatzfehlern hinzugefügte ActiveRecord-Meldung (Standard: :invalid_url ) |
PhoneNumberValidator
class User < ApplicationRecord
validates :phone_number , phone_number : true
end
user = User . new ( phone_number : '514 555-2525' )
user . valid? # => true
user . phone_number # => '5145552525'
user = User . new ( phone_number : '555-2525' )
user . valid? # => false
user . phone_number # '5552525'
Option | Beschreibung |
---|---|
:regex | Der zur Validierung der Zahl verwendete reguläre Ausdruck (Standard: /Ad{10,}z/ ) |
:cleanup_regex | Der zur Validierung verwendete reguläre Ausdruck bereinigt die Eingabe vor der Validierung/Speicherung (Standard: /[^d]/ ) |
:message | Die zu den Datensatzfehlern hinzugefügte ActiveRecord-Nachricht (Standard: :invalid_phone_number ) |
PostalCodeValidator
class User < ApplicationRecord
validates :postal_code , postal_code : true
end
user = User . new ( postal_code : 'G0R 2T0' )
user . valid? # => true
user . postal_code # => 'G0R2T0'
user = User . new ( postal_code : 'L -0- L' )
user . valid? # => false
user . postal_code # => 'L0L'
Option | Beschreibung |
---|---|
:regex | Der zum Validieren des Codes verwendete reguläre Ausdruck (Standard: /A[az]d[az]d[az]dz/i ) |
:cleanup_regex | Der zur Validierung verwendete reguläre Ausdruck bereinigt die Eingabe vor dem Validieren/Speichern (Standard: /[^a-z0-9]/i ) |
:message | Die zu den Datensatzfehlern hinzugefügte ActiveRecord-Nachricht (Standard: :invalid_postal_code ) |
ArrayValidator
class Tag < Struct . new ( :name )
def valid?
name . present?
end
end
class User < ApplicationRecord
validates :tags , array : true
def tags = ( tags )
super tags . map { | tag | Tag . new ( tag ) }
end
end
User . new ( tags : [ 'food' , 'beer' , 'code' ] ) . valid? # => true
User . new ( tags : [ 'food' , '' , 'code' ] ) . valid? # => false
Option | Beschreibung |
---|---|
:message | Die zu den Datensatzfehlern hinzugefügte ActiveRecord-Meldung (Standard: :invalid_array ) |
:validity_method | Die Methode, die an jedes Array-Element gesendet wird (Standard: :valid? ) |
RgbHexValidator
class Flag < ApplicationRecord
validates :color , rgb_hex : true
end
flag = Flag . new ( color : '#ff0000' )
flag . valid? # => true
flag . color # => '#ff0000'
flag = Flag . new ( color : '#zzzzzz' )
flag . valid? # => false
flag . color # => '#'
Option | Beschreibung |
---|---|
:regex | Der zur Validierung des Codes verwendete reguläre Ausdruck (Standard: `/A#([a-f0-9]{6} |
:cleanup_regex | Der zur Validierung verwendete reguläre Ausdruck bereinigt die Eingabe vor dem Validieren/Speichern (Standard: /[^#a-f0-9]/i ) |
:message | Die zu den Datensatzfehlern hinzugefügte ActiveRecord-Meldung (Standard: :invalid_rgb_hex ) |
Louche verwendet Standard-ActiveRecord-Nachrichten. So könnte Ihre Datei config/locales/activerecord.en.yml
aussehen:
en :
errors :
messages :
invalid_email : is not a valid email address
invalid_url : is not a valid URL
invalid_phone_number : is not a valid phone number
invalid_postal_code : is not a valid postal code
invalid_array : contains invalid items
invalid_rgb_hex : is not a valid color
Louche
ist © 2014-2015 Mirego und darf unter der New BSD-Lizenz frei verbreitet werden. Siehe die Datei LICENSE.md
.
Mirego ist ein Team leidenschaftlicher Menschen, die davon überzeugt sind, dass die Arbeit ein Ort ist, an dem man Innovationen hervorbringen und Spaß haben kann. Wir sind ein Team talentierter Menschen, die wunderschöne Web- und Mobilanwendungen erfinden und entwickeln. Wir kommen zusammen, um Ideen auszutauschen und die Welt zu verändern.
Wir lieben auch Open-Source-Software und versuchen, der Community so viel wie möglich zurückzugeben.