電話番号が数字かどうかを検証しようとしています:-
これは私のuser.rgです
number_regex = /\d[0-9]\)*\z/
validates_format_of :phone, :with => number_regex, :message => "Only positive number without spaces are allowed"
これは私のview.html.hamlです
%li
%strong=f.label :phone, "Phone Number"
=f.text_field :phone, :placeholder => "Your phone number"
これはコントローラーです
def edit_profile
@user = current_user
request.method.inspect
if request.method == "POST"
if @user.update_attributes(params[:user])
sign_in(@user, :bypass => true)
flash[:success] = "You have updated your profile successfully"
redirect_to dashboard_index_path
else
flash[:error] = "Profile could not be updated"
render :action => "edit_profile"
end
end
end
テキストフィールドに初めて番号を入力すると、正しく検証されますが、正しい形式を入力してから間違った形式を入力しようとすると、検証がスキップされ、プロファイルが正常に更新されたというフラッシュメッセージが表示されます。間違った値(文字付き)は保存されません。
ここで何が問題になる可能性がありますか?