西山和広です。

At Mon, 22 Sep 2008 20:17:26 +0900,
Fujioka wrote:
> 
> > 不正エンコーディングを検出したときに実行するブロックを指定できる
> > ようにして、指定がなかった場合のデフォルトは例外で、どのフィールドか
> > 知りたければそこで残すようにするとか?
> > 
> これ、コードのサンプルを作れませんでしょうか?
> こんな風に使いたいみたいなやつ。

Railsでvalidateにひっかかったときに赤い枠がついたりするような感じで
以下のように引っかかったフィールドに何か印をつけるのに使えるかも、
というイメージです。

invalid_fields = {}
cgi = CGI.new(..., :... =>proc {|field_name, field_value|
  invalid_fields[field_name] = field_value
})
...
cgi.out(...) {
  ...
  cgi.text_field({...,"name"=>"some_text", "class"=>
    invalid_fields.include?("some_text") ? "invalid" : ""
  })
  ...
}


-- 
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)