ruby-on-rails – 我应该在Rails 5中放置自定义验证器?
发布时间:2020-12-17 04:35:00 所属栏目:百科 来源:网络整理
导读:我正在尝试为我的应用添加电子邮件自定义验证器;但是,我应该在哪里放置自定义验证器? (我真的不想将这个验证器类放在模型中)是否有用于验证器的cli生成器? http://guides.rubyonrails.org/active_record_validations.html class EmailValidator ActiveMode
我正在尝试为我的应用添加电子邮件自定义验证器;但是,我应该在哪里放置自定义验证器? (我真的不想将这个验证器类放在模型中)是否有用于验证器的cli生成器?
http://guides.rubyonrails.org/active_record_validations.html class EmailValidator < ActiveModel::EachValidator def validate_each(record,attribute,value) unless value =~ /A([^@s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})z/i record.errors[attribute] << (options[:message] || "is not an email") end end end class Person < ApplicationRecord validates :email,presence: true,email: true end 什么是自定义验证器的约定位置/路径? 解决方法
我将它们放在/app/validators/email_validator.rb中,验证器将自动加载.
另外,我不知道你的情况是否属实,但你应该在表格中替换它.如果是这样,则在用户到达控制器之前进行第一次验证. <div class="field"> <%= f.label :email %> <%= f.text_field :email,required: true %> </div> 通过: <div class="field"> <%= f.label :email %> <%= f.email_field :email,required: true %> </div> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |