
rails2、mySQLです。
モデルにバリデーションを書くのは知っているのですが
特定のコントローラのメソッドでのみバリデーションしたいとき
どうすればよいのでしょう。
Userモデルに書いた場合
class User < ActiveRecord::Base
validates_format_of :email_address, :with => /[a-zA-Z0-9_-]+\@[a-zA-Z0-9_-]+\.\w+/, :allow_blank => true, :message => "有効なEメールアドレスではないようです。"
validates_uniqueness_of :email_address, :allow_blank => true, :allow_nil => true, :message => "このアドレスは既に使用されています。"
end
class UserController < ApplicationController
def email_conf
self.index
u = User.find :first, :conditions=>["user_name = ?",@user_name ]
unless u
u = User.new(:user_name => @user_name)
end
u["email_address"] = params[:email_address]
if u.valid?
u.save
render :text => '<div>thank you!</div>'
else
render :text => "#{u.errors[:email_address]}"
end
end
end
これだとほかのアクションの場合もバリデーションを行えばこのパターンのみになりますよね。
userコントローラの email_conf でデータ登録するときのみ、このバリデーションをしたいのですが。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのhtmlへの紐付けについ...
-
ビーリアルのユーザー名を変え...
-
100万件越えCSVから条件を満た...
-
a=2, b=1のとき”x=(a-b+3)%3”の...
-
一週間用のカレンダー
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 csvファイル 続き(...
-
ルビー言語 csvファイル 続き
-
ルビー言語 ライブラリー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
What class are you in? には何...
-
class roomとclassroom どちら...
-
pythonのerrorコード
-
HSTLやSSTL等のI/Oピン
-
テンプレートの特殊化でコンパ...
-
クラス名やモジュール名の競合...
-
プログラミングRubyについての...
-
syntax error 一行で書くと
-
Visualurubyのラジオボタンにつ...
-
【delphi】クラスの継承、互換...
-
【ruby】【文法】スパークラス...
-
【ruby】クラスCGIを改造して、...
-
【ruby】特異クラスを使って,Fi...
-
変数の隠蔽とは?
-
Rubyの質問です
-
Rubyの正規表現を引数に
-
No route matches [GET] "/post...
-
住所の追加について
-
「arg」は何の略?
-
教えてください。vb5.0
おすすめ情報