Module: Formidable::Validations
- Included in:
- Elements::Element, Elements::Select
- Defined in:
- lib/formidable/validations.rb,
lib/formidable/validations/class.rb,
lib/formidable/validations/format.rb,
lib/formidable/validations/length.rb,
lib/formidable/validations/equality.rb,
lib/formidable/validations/presence.rb,
lib/formidable/validations/confirmation.rb
Defined Under Namespace
Classes: ValidateClass, ValidateConfirmation, ValidateEquality, ValidateFormat, ValidateLength, ValidatePresence, Validation
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.register_validation(klass, method_name) ⇒ Object
21
22
23
24
25
26
27
|
# File 'lib/formidable/validations.rb', line 21
def self.register_validation(klass, method_name)
define_method(method_name) do |*args, &block|
validation = klass.new(self, *args, &block)
validations << validation
self
end
end
|
Instance Method Details
#errors ⇒ Object
29
30
31
|
# File 'lib/formidable/validations.rb', line 29
def errors
@errors ||= Array.new
end
|
#valid? ⇒ Boolean
37
38
39
|
# File 'lib/formidable/validations.rb', line 37
def valid?
self.validate
end
|
#validate ⇒ Object
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/formidable/validations.rb', line 41
def validate
self.errors.clear
self.validations.inject(true) do |is_valid, validation|
validation_passed = validation.valid?
unless validation_passed
self.errors.push(validation.message)
end
is_valid && validation_passed
end
end
|
#validations ⇒ Object
33
34
35
|
# File 'lib/formidable/validations.rb', line 33
def validations
@validations ||= Array.new
end
|