作者godfat (godfat 真常)
看板Ruby
标题Re: [RoR ] 验证错误後的提示讯息
时间Fri Oct 17 12:43:00 2008
虽然这样好像有点挑毛病啦...
不过标题写「验证错误」感觉有点怪怪的
验证通常是指检查什麽东西是不是对的
验证错误像是在说错误就是对的一样... XD
相关讨论可能是 ruby-core 上关於 assert_not_equal 吧 @@
有人认为不合理,遂改名为 refute_equal ...
※ 引述《s70487s (s70487s)》之铭言:
: 大家好
: 我的问题是:
: 以前在使用validation时,如果user某些栏位不符合就会出现错误提示,
: 不过这样会有安全性的顾虑,
我不明白,有什麽安全性的顾虑??就只是错误提示啊,
除非你把程式码也 dump 给 user 看...
: 之前有看到某个RoR的网站,
: 它并没有显示出栏位名称,不晓得这该怎做呢?
: 谢谢。
你是指栏位名称跟显示的名称相同吗?
基本上你程式写得好的话,这边是不会有任何安全问题的。
另一方面,如果你要做中文化,名称本来就应该改写,
不会用栏位名称啊...
基本上一般我是自己做错误处理,完全没用到 error_messages_for,
所以不需要碰到 rails 底层。
不过刚刚翻了一下 error_messages_for 的程式码,基本上错误讯息的产生
在 activerecord-2.1.1/lib/activerecord/validations.rb: 179
full_messages << @base.class.human_attribute_name(attr) + " " + msg
大概是像这样吧:
class User < ActiveRecord::Base
def self.human_attribute_name attr
case attr
when :name; '名字'
when :phone; '电话'
end
end
end
没测试过,自己试试吧。
--
#!/usr/bin/env ruby [露比] /Programming (Kn|N)ight/ 看板《Ruby》
# if a
dog nailed
extra legs that
http://webptt.com/cn.aspx?n=bbs/Ruby/index.html
#
walks like an octopus, and Welcome ~
Ruby@ptt~
#
talks like an octopus, then
◢█◣ http://www.ruby-lang.org/
# we are happy to treat it as
█ http://www.ruby-doc.org/
# if it were
an octopus.
◥ ◤ http://www.rubyforge.org/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.28.18
1F:推 s70487s:我试试看,谢谢您 10/17 23:20
2F:→ s70487s:有安全上的顾虑是看到网路上有人写的 10/17 23:23
3F:→ s70487s:不过就算栏位名称被知道,就如您说的,写得好就不会有事 10/17 23:24
4F:→ s70487s:前辈是否可说明您自己处理的方法?谢谢 10/17 23:26
5F:→ godfat:错误讯息? #18yQi-HX or 1059 篇有一小段 10/17 23:33