如何限制 character/word 对 Sinatra/Active 记录中数据库字符串值的计数?
How to limit character/word count on database string value in Sinatra/Active Record?
我的 ActiveRecord
数据库中有一个列,我希望有一定的字数限制。
基本上,我创建了一个允许用户输入文本(字符串)的表单。我想限制该字符串中允许的字符数。
@allposts = Post.limit(20)
这是我目前在 /current
页面的 get 方法中得到的 post 所有内容。 20 = 显示的 post 数量。
我还有一个 /new
页面,用户将在其中 post 新内容。
您可以通过几种不同的方式限制字符数:
1.Defining您创建的HTML字段的限制:
<input class="ip-input" id="ip" maxlength="15" name="ip" size="20" type="text" value="0.0.0.0" />
通过更改 maxlength 属性。示例取自 here.
2.Using 用户模型中的验证选项:
validates :attribute_you_want_to_limit, length: { maximum: 50 }
您可以找到有关此选项的更多信息 here。
3.Putting 架构中的限制:
t.string :your_attribute, :limit => 20
第一个选项将不允许用户在字段中再输入任何内容,第二个将不允许保存对象,第三个选项将不允许将属性保存到数据库中。
我推荐第二种。
您还可以通过几种不同的方式使用 Javascript,here's 很好地解释了如何使用。
我的 ActiveRecord
数据库中有一个列,我希望有一定的字数限制。
基本上,我创建了一个允许用户输入文本(字符串)的表单。我想限制该字符串中允许的字符数。
@allposts = Post.limit(20)
这是我目前在 /current
页面的 get 方法中得到的 post 所有内容。 20 = 显示的 post 数量。
我还有一个 /new
页面,用户将在其中 post 新内容。
您可以通过几种不同的方式限制字符数:
1.Defining您创建的HTML字段的限制:
<input class="ip-input" id="ip" maxlength="15" name="ip" size="20" type="text" value="0.0.0.0" />
通过更改 maxlength 属性。示例取自 here.
2.Using 用户模型中的验证选项:
validates :attribute_you_want_to_limit, length: { maximum: 50 }
您可以找到有关此选项的更多信息 here。
3.Putting 架构中的限制:
t.string :your_attribute, :limit => 20
第一个选项将不允许用户在字段中再输入任何内容,第二个将不允许保存对象,第三个选项将不允许将属性保存到数据库中。
我推荐第二种。
您还可以通过几种不同的方式使用 Javascript,here's 很好地解释了如何使用。