您好我搜索了很多站點和視頻在軌道模型上,但無法找到答案,我有一個網址控制器和網址模型。在控制器我有這個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