use*_*052 4 validation ruby-on-rails ruby-on-rails-3
我验证了这样的姓氏字段
validates :surname,
:presence => true,
:length => { :within => min_surname_length..max_surname_length, :message => "is bad (minimum is #{min_surname_length}, maximum is is #{max_surname_length})" }
Run Code Online (Sandbox Code Playgroud)
但是我希望在没有单独语法验证的情况下将最小值和最大值分开
validates_length_of :name, :minimum => 3
validates_length_of :name, :maximum => 30
Run Code Online (Sandbox Code Playgroud)
简而言之,我想做这样的事情(我知道,这是错的):
validates :surname,
:presence => true,
:length => { :within => min_surname_length..max_surname_length,
:message => "is bad (minimum is #{min_surname_length}" IF MINIMUM,
:message => "is bad (maximum is is #{max_surname_length})" IF MAXIMUM }
Run Code Online (Sandbox Code Playgroud)
怎么可能一次做到这一点?
解
这是我将如何使用它:
validates :surname,
:length => { :within => min_password_length..max_password_length,
:too_short => 'too short message',
:too_long => 'too long message' }
Run Code Online (Sandbox Code Playgroud)
validates_length_of :surname,
:within => 3..30,
:too_short => 'too short message',
:too_long => 'too long message'Run Code Online (Sandbox Code Playgroud)