码迷,mamicode.com
首页 > 其他好文 > 详细

自定义中文验证消息

时间:2016-05-29 15:06:04      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

实现自定义验证中文消息就是使用国际化来支持中文,这个可以使用rails的i18n接口来完成。

步骤一:取消application.rb 如下注释,并将默认语言设置改成简体中文zh-CN(这个任意命名即可,因为这里如何命名那么转换语言的时候就去找同样命名的yml文件,比如这里命名为zh-CN那么我们创建yml文件也必须是zh-CN.yml文件)。

修改前:

技术分享

修改后:

技术分享

步骤二:重启rails服务器

因为config目录下的文件都是配置文件,凡是配置的修改都需要重启rails服务器来使得修改生效。

步骤三:在如下目录添加保存自定义的中文消息的yml文件,如下:

注意----该文件缩进必须是两个空格,我们不要使用Tab键盘

技术分享

步骤四:找一个页面试试,如下:

原来的代码和效果:

技术分享

技术分享

将视图代码该处使用语言转换为简体中文的代码及效果:

如下使用国际化的接口t函数(该函数意思就是translate),然后翻译为navnbar.about也就是之前yml文件中的"关于"

技术分享

技术分享

技术分享

注:这里我们是手动实现国际化,当然有个gem叫rails-i18n里面保存了很多常用的国际化语言,也可以使用这个。

步骤五:提交空表单如下:

在将默认语言设置改成简体中文zh-CN之后,自定义验证消息就会默认使用简体中文了(这是验证机制默认的选择),所以我们不必像上面那样将about链接手动设置为国际化,它就会自动去使用简体zh-CN.yml文件,如下还没定义相关的中文所以如下:

技术分享

那么自定义的中文验证消息如何写?很简单:

translation missing: zh-CN.activerecord.errors.models.user.attributes.name.blank

如上可以看出对应的转换在zh-CN.yml文件中(最开始是zh-CN),然后层次的缩进依次是:activerecord及errors及models及user一直下去:最后的yml文件如下:

技术分享

这时我们再来提交一次表单,看验证消息提示结果为如下:

技术分享

 

自定义中文验证消息

标签:

原文地址:http://www.cnblogs.com/blueColdFire/p/5539307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!