0

我的 index.html.erb 视图中有以下表单字段:

 <%= form_tag("/calls/call", :method => "post") do %>
  <br />
  <%= text_field_tag(:call_to, "Number to call") %>
  <br />
  <%= text_field_tag(:call_from, "Number to call from") %>
  <br />
  <%= submit_tag("Dial") %></a>
  <br />
<% end %>

我想将该字段限制为仅允许 10 位美国电话号码而不使用模型验证(因为没有模型)。

可能有很多方法可以做到这一点,但是你们认为最简单的实现方式是什么?

我试过使用'active_attr' gem,但运气不佳。使用“active_attr”,我创建了一个名为 Call 的模型。这是模型的样子:

class Call

include ActiveAttr::Model

  attribute :call_to
  attribute :call_from

  # attr_accessible :call_to, :call_from

  validates_presence_of :call_to
  validates_presence_of :call_from
end

我的控制器如下所示:

class CallsController < ApplicationController

  def call

    call_to = params["call_to"]

    call_from = params["call_from"]

    call_to.to_i
    call_from.to_i

    puts call_to
    puts call_from

  end 

end

我是否应该在控制器中实例化 Call 类的实例或类似的东西?

@call = Call.new

提前致谢!

4

1 回答 1

0

一种客户端选项是使用 HTML5 type=tel 输入。这是一些文档的链接。不过,您仍然需要一些服务器端验证。

于 2012-11-06T19:44:53.627 回答