Ruby on rails 操作前的rails验证
以下是我的应用程序中发生的情况:Ruby on rails 操作前的rails验证,ruby-on-rails,validation,rails-activerecord,Ruby On Rails,Validation,Rails Activerecord,以下是我的应用程序中发生的情况: 客户输入电话号码 在客户模型中搜索电话号码以查看其是否存在 如果确实存在,请转到“客户展示”页面 如果不存在,请转到“客户新建”页面以创建新客户 根据我的理解,模型验证是针对输入/编辑/删除到数据库中的数据进行的 但是,在数据库中搜索任何内容之前,我们如何检查(使用验证)?如果不正确(例如:电话号码使用字母而不是数字),则会显示错误 我正在实现html表单输入选项,以防止有人在电话号码输入框中输入字母,如下所示: <%= form_tag(new_c
- 客户输入电话号码
- 在客户模型中搜索电话号码以查看其是否存在
- 如果确实存在,请转到“客户展示”页面
- 如果不存在,请转到“客户新建”页面以创建新客户
<%= form_tag(new_customer_path, method: :get) do %>
<%= telephone_field_tag :phone, nil, placeholder: "Phone Number", required: true, pattern: "[0-9]{10}", title: "Number must be 10 digits", maxlength: "10", class: "input-lg" %>
<%= submit_tag "Enter", class: "btn btn-primary btn-lg" %>
<% end %>
部分错误消息
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>">
<a href="#" data-dismiss="alert" class="close">×</a>
<ul>
<li>
<p><%= value %></p>
</li>
</ul>
</div>
<% end %>
-
rails验证可能已经足够好了,但是如果您担心它,可以在客户端添加javascript验证。如果您想在客户端执行表单验证,或者您可以编写自己的插件,那么可以使用几个插件。这可能会有帮助:只需添加带有JavaScript和HTML的前端验证。您的Rails验证看起来不错
Html:必需
属性
Jquery:查看此链接-
def new
if @customer = Customer.find_by(phone: params[:phone])
flash[:success] = "Welcome back"
redirect_to @customer
else
@customer = Customer.new(phone: params[:phone])
flash.now[:warning] = "Customer not found, please sign up!"
end
end
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>">
<a href="#" data-dismiss="alert" class="close">×</a>
<ul>
<li>
<p><%= value %></p>
</li>
</ul>
</div>
<% end %>