يضيف Louche أدوات التحقق الشائعة لفئات ActiveModel/ActiveRecord.
أضف هذا السطر إلى ملف Gemfile الخاص بالتطبيق الخاص بك:
gem 'louche'
يوفر Louche بعض أدوات التحقق لاستخدامها في فئات ActiveModel/ActiveRecord الخاصة بك. يمكنك استخدام جميع أدوات التحقق من الصحة بإصدار مرمز صغير من البادئة الخاصة بهم كمفتاح true
كقيمة. على سبيل المثال، بالنسبة لـ EmailValidator
:
class User < ApplicationRecord
validates :email , email : true
end
اختياريًا، إذا كنت ترغب في تخصيص الخيارات الافتراضية، يمكنك تمرير التجزئة كقيمة:
class User < ApplicationRecord
validates :email , email : { regex : /^.*@.*$/ , message : :blank }
end
فيما يلي أدوات التحقق التي توفرها Louche بالإضافة إلى الخيارات الخاصة بها:
EmailValidator
class User < ApplicationRecord
validates :email , email : true
end
User . new ( email : '[email protected]' ) . valid? # => true
User . new ( email : 'foo@example' ) . valid? # => false
خيار | وصف |
---|---|
:regex | التعبير العادي المستخدم للتحقق من صحة البريد الإلكتروني (الافتراضي: /A([^@s]+)@((?:[-a-z0-9]+.)+[az]{2,})z/i ) |
:message | تمت إضافة رسالة ActiveRecord إلى أخطاء السجل (الافتراضي: :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
خيار | وصف |
---|---|
:schemes | مخططات URI المسموح بها (الافتراضي: %w(http https) ) |
:message | تمت إضافة رسالة ActiveRecord إلى أخطاء السجل (الافتراضي: :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'
خيار | وصف |
---|---|
:regex | التعبير العادي المستخدم للتحقق من صحة الرقم (الافتراضي: /Ad{10,}z/ ) |
:cleanup_regex | التعبير العادي المستخدم للتحقق من صحة الإدخال قبل التحقق من صحته/حفظه (الافتراضي: /[^d]/ ) |
:message | تمت إضافة رسالة ActiveRecord إلى أخطاء السجل (الافتراضي: :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'
خيار | وصف |
---|---|
:regex | التعبير العادي المستخدم للتحقق من صحة الرمز (الافتراضي: /A[az]d[az]d[az]dz/i ) |
:cleanup_regex | التعبير العادي المستخدم للتحقق من صحة الإدخال قبل التحقق من صحته/حفظه (الافتراضي: /[^a-z0-9]/i ) |
:message | تمت إضافة رسالة ActiveRecord إلى أخطاء السجل (الافتراضي: :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
خيار | وصف |
---|---|
:message | تمت إضافة رسالة ActiveRecord إلى أخطاء السجل (الافتراضي: :invalid_array ) |
:validity_method | الطريقة التي سيتم إرسالها إلى كل عنصر من عناصر المصفوفة (الافتراضي: :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 # => '#'
خيار | وصف |
---|---|
:regex | التعبير العادي المستخدم للتحقق من صحة الرمز (الافتراضي: `/A#([a-f0-9]{6} |
:cleanup_regex | التعبير العادي المستخدم للتحقق من صحة الإدخال قبل التحقق من صحته/حفظه (الافتراضي: /[^#a-f0-9]/i ) |
:message | تمت إضافة رسالة ActiveRecord إلى أخطاء السجل (الافتراضي: :invalid_rgb_hex ) |
يستخدم Louche رسائل ActiveRecord القياسية. إليك الشكل الذي يمكن أن يبدو عليه ملف config/locales/activerecord.en.yml
الخاص بك:
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
© 2014-2015 Mirego ويمكن توزيعها مجانًا بموجب ترخيص New BSD. راجع ملف LICENSE.md
.
Mirego هو فريق من الأشخاص المتحمسين الذين يؤمنون بأن العمل هو المكان الذي يمكنك فيه الابتكار والاستمتاع. نحن فريق من الأشخاص الموهوبين الذين يتخيلون وينشئون تطبيقات الويب والهواتف المحمولة الجميلة. نجتمع معًا لتبادل الأفكار وتغيير العالم.
نحن أيضًا نحب البرامج مفتوحة المصدر ونحاول رد الجميل للمجتمع قدر الإمكان.