sam*_*era 7 ruby model-view-controller controller ruby-on-rails nosql
我正在尝试验证电子邮件地址..它是否存在..以及它是否符合正则表达式标准(/ xyz /).我真的需要在rails中的控制器或视图级别执行此操作,因为我打算为我的应用程序转储ActiveRecord,因为我计划稍后使用nosql数据库.
任何提示?建议?
在模型中,它将是以下代码..但我试图在控制器或视图中执行此操作:
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true,
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
Run Code Online (Sandbox Code Playgroud)
Uni*_*key 15
class UsersController < ApplicationController
def create
user = User.new(params[:user])
if valid_email?(user.email)
user.save
redirect_to root_url, :notice => 'Good email'
else
flash[:error] = 'Bad email!'
render :new
end
end
private
def valid_email?(email)
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
email.present? &&
(email =~ VALID_EMAIL_REGEX) &&
User.find_by(email: email).empty?
end
end
Run Code Online (Sandbox Code Playgroud)
但是,我会说验证仍然属于模型,即使它不是基于ActiveRecord的验证.请看一下如何使用ActiveModel :: Validations:
http://api.rubyonrails.org/classes/ActiveModel/Validations.html http://yehudakatz.com/2010/01/10/activemodel-make-any-ruby-object-feel-like-activerecord/ http:/ /asciicasts.com/episodes/219-active-model
| 归档时间: |
|
| 查看次数: |
9249 次 |
| 最近记录: |