新手问题 关于自定义错误 message

wwwicbd · 2016年03月29日 · 最后由 AcerFeng 回复于 2016年04月03日 · 2600 次阅读

目前的样子:

用户模型验证的时候想要完全自定义错误信息

Q1:attribute 的名字要怎么自定义为中文呢? Q2:如果把 :password_confirmation 的所有错误消息统一指定成『请确认密码』,要在哪里拦截呢?

user.rb

class User < ActiveRecord::Base
  # 有效性验证

## 用户名验证 validates :name, presence: {message: "不得为空"}, length: {maximum: 50,message: '昵称最多 50 个字符'}

## Email 验证 VALID_EMAIL_REGEX = /\A[\w+-.]+@[a-z\d-]+(.[a-z\d-]+)*.[a-z]+\z/i validates :email, presence: {message: "邮箱不能为空"}, length: {maximum: 255}, format: {with: VALID_EMAIL_REGEX, message: "请输入合法的邮箱地址"}, uniqueness: {case_sensitive:false, message: "这个 Email 已经被占用了:("} #仅仅为 ActiveRecord 的唯一性验证,不能保证 DB 的唯一性

## 密码验证 validates :password, length: {minimum: 6, message: "密码最少六位"}

# 数据落地前的操作 before_save{ self.email = email.downcase }

# 密码 has_secure_password end

A1: i18n A2: validates_confirmation_of :password, allow_blank: true, message:'请确认密码' (放到has_secure_password下面)

#2 楼 @huacnlee 大神,最近更换淘宝 ruby 镜像时报错,能解决一下么

#3 楼 @AcerFeng 首页几个大字没看到么

#5 楼 @haoxilu 十分感谢,问题解决了!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号