27

有没有人设法为文本字段设置最大字段长度

如何设置文本字段的最大长度。这是我使用的代码

<%= text_field_tag(:create_text), :input_html => {:maxlength => 15, :size => 40}  %>

但我似乎无法设置可以输入该字段的最大字符数。

4

4 回答 4

47

您可以这样做:

<%= text_field_tag 'create_text', nil, :maxlength => 15, :size => 40 %>

来源:http ://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-text_field_tag

于 2013-04-23T10:12:32.007 回答
19

text_field_tag调用中:

:size与文本框的物理长度有关。它足够大,可以在框中看到这么多字符。但是用户仍然可以输入更多。

:maxlength是用户可以输入的最大字符数,与文本框的物理大小无关。文本框可以更大或更小,但如果你设置 :maxlength => 5,他们将只能输入 5 个字符。

如果这也是您希望数据库中数据的硬限制,您应该设置验证。例如,这可以防止您在 Rails 代码中将其设置为更多字符。

validates_length_of :column_name, :maximum => 5

最后,对于带子和吊杆的方法,并且为了防止与数据库相冲突的代码设置错误的值,您可以在数据库级别强制执行它。在某些情况下,Rails 应用程序以外的其他代码可能会更新数据库。即使在这种情况下,这也可以防止坏数据。

在迁移中添加一列,您可以这样做:

add_column :table_name, :column_name, :string, :limit => 30
于 2013-12-18T20:19:08.410 回答
3

客户端:

      <%= text_field_tag :"description", '', maxlength: 5   %>
   or      
     <input type="text" name="description" id="description" value="" maxlength="5">

服务器端:在 model.rb 文件中

validates_length_of :column_name, :maximum => 5
于 2019-04-09T04:37:45.327 回答
-4

你可以试试这个

<%=text_field_tag 'create_text',:size=>40 %>
于 2013-04-23T12:15:40.093 回答