您好我搜索了很多站点和视频在轨道模型上,但无法找到答案,我有一个网址控制器和网址模型。在控制器我有这个Rails在模型验证中搜索
def search
@search_term = params[:q]
st = "%#{params[:q]}%"
@url = Url.where("email ILIKE ? or custref ILIKE ? or order_number ILIKE ? or url4 ILIKE ? or trader_code ILIKE ? or trader_name ILIKE ?", st, st, st, st, st, st).order("date DESC").page(params[:page]).per_page(25)
respond_to do |format|
format.html
format.json {render json: @urls}
end
end
和模型只是这个
class Url < ActiveRecord::Base
attr_accessible :order_number, :url1, :url2, :url3, :url4, :url5, :email, :custref, :date, :trader_code, :trader_name
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Url.create! row.to_hash
end
end
belongs_to :user
end
然后我用一个部分来呈现的搜索框中的form_tag。
<%= form_tag("/search", :method => "get") do %>
<%= label_tag(:q, "") %>
<%= text_field_tag(:q) %>
<%= submit_tag "Search" %>
<% end %>
我的问题是,我不知道如何验证这个form_tag。 我需要验证是否有一个有效的完整电子邮件地址输入到搜索中,我需要验证是否有8个字符输入来搜索order_number。其余的验证我可以找出,但这两个是最重要的。 我在railscast上观看了active_attr的视频,但它对我不起作用。 有没有人在这之前做过这件事可以帮助我?
感谢
本帖](http://stackoverflow.com/questions/5118203/how-do-i-validate运行验证-a-non-model-form-in-rails-3/5118393#5118393)看起来像它有你所需要的。 – CoolTapes
如何以及您想要验证什么?该字段的输入?在服务器上?在客户端?你想把东西去掉吗? – phoet
即时搜索两栏,电子邮件和订单号码,所以我想确保人们输入一个有效的电子邮件地址,并且订单号码需要是确切数量的字符,此刻如果您键入订单的前4个字符数字,然后结果显示db – user2791952