2011-02-10 7 views
0

フォームに記入するためにユーザーにいくつかの助けをしたいと思います。それでは、今、私は実際にそれらを呼び出すことなく、:emailに所属するエラーメッセージを取得したい私はフォームのフィードバックにバリデーションを使用する

validates_presence_of :email 
validates_format_of :email, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :message => 'must be a valid email address' 

でモデルをcustomer持っていると仮定しましょう。だから私は文字列 "(電子メール)空白にすることはできません"と "(電子メール)有効な電子メールアドレスでなければなりません"私の登録フォームのツールチップとしてそれらを印刷する必要があります。

これを得る方法はありますか?

答えて

0

Customer.validatorsはバリデータの配列を取得し、次にそれらを反復し、Customer.validators [0] .options [:message]を取得できます。

+0

これでバリデータのリストが表示されます。しかし、カスタムメッセージであればエラーメッセージを取り出すことができます。メッセージは 'PresenceValidator'が前記の配列に含まれていません。 –

+0

うーん、簡単に手に入らない。あなたはすべて(私がやっていることです)カスタムエラーメッセージを使うこともできますし、何らかの形でデフォルトエラーを抽出することもできます。それらはYAMLファイルにあります。 –

関連する問題