0

我是 Rails 的新手……在进行验证和消息传递之后……我仍然看不到效果……它没有反映消息……我的代码是

class Users < ActiveRecord::Base
  attr_accessible :account_expired, :account_locked, :enabled, :id, :password, :password_expired, :username, :version

  validates :username,:password, :presence =>{:message => "Must be not blank"}

end
4

3 回答 3

0

如果我理解你是正确的 - 你需要一个自定义验证器,并添加如下错误消息:

errors.add(:base,  'Must be not blank')

您看到将用户名添加到字符串的原因是因为 rails 调用

errors.add(:attribute, your_message) 

在引擎盖下

于 2012-10-03T07:36:02.243 回答
0

您还可以通过自定义验证

例如

# in your model

validate:username_blank

def username_blank
 if self.username.blank? || self.username == ""
   errors[:base] << "Username Can't be Blank" # or whatever your message
 end
end
于 2012-10-03T09:25:32.137 回答
0

如果要打印错误,请尝试:

model.errors.full_messages.each do |message|
  puts message
于 2012-10-03T07:40:58.750 回答