Re: [RoR ] 驗證錯誤後的提示訊息

看板Ruby作者 (godfat 真常)時間16年前 (2008/10/17 12:43), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串2/2 (看更多)
雖然這樣好像有點挑毛病啦... 不過標題寫「驗證錯誤」感覺有點怪怪的 驗證通常是指檢查什麼東西是不是對的 驗證錯誤像是在說錯誤就是對的一樣... 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://www.ptt.cc/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

10/17 23:20, , 1F
我試試看,謝謝您
10/17 23:20, 1F

10/17 23:23, , 2F
有安全上的顧慮是看到網路上有人寫的
10/17 23:23, 2F

10/17 23:24, , 3F
不過就算欄位名稱被知道,就如您說的,寫得好就不會有事
10/17 23:24, 3F

10/17 23:26, , 4F
前輩是否可說明您自己處理的方法?謝謝
10/17 23:26, 4F

10/17 23:33, , 5F
錯誤訊息? #18yQi-HX or 1059 篇有一小段
10/17 23:33, 5F
文章代碼(AID): #18-1VNzY (Ruby)
文章代碼(AID): #18-1VNzY (Ruby)