| Module | N::Validation |
| In: |
lib/glue/validation.rb
|
Implements a meta-language for validating managed objects. Typically used in Validator objects but can be included in managed objects too.
class User
prop_accessor :name, String
prop_accessor :level, Fixnum
validate_length :name, :range => 2..6
validate_unique :name, :msg => :name_allready_exists
validate_format :name, :format => /[a-z]*/, :msg => 'invalid format', :on => :create
end
class N::CustomUserValidator
include N::Validation
validate_length :name, :range => 2..6, :msg_short => :name_too_short, :msg_long => :name_too_long
end
user = @request.fill(User.new)
user.level = 15
unless user.valid?
user.save
else
p user.errors[:name]
end
unless user.save
p user.errors.on(:name)
end
unless errors = N::CustomUserValidator.errors(user)
user.save
else
p errors[:name]
end