我尝试应用:maxlenght
=>在我的表单上的textarea上40。
但它没有成功。
我们可以对textarea进行长度限制吗?
文本区域的代码是
<%= f.text_area :data,
:rows => 2,
:cols => 60 ,
:maxlength => 140,
:autocomplete => :off,
:class => "textareabytes" %>
答案 0 :(得分:13)
就像Rahul所说的那样,HTML中的maxlength
没有textarea
属性。只有text
input
才有。
你需要记住的是,RoR的text_area
函数(以及所有RoR的HTML生成器函数)接受你将给予它们的任何参数。如果他们没有识别参数,那么只需将其转换为HTML。
<%=f.text_area :data, :hellothere => "hello to you too"%>
将输出此HTML:
<textarea name="data" hellothere="hello to you too"></textarea>
我知道这很难记住,但Ruby on Rails并不神奇,只是为你做了很多事情。诀窍是知道它是如何做到的,所以你可以理解它们的工作原理,以及如何解决它们的问题!
答案 1 :(得分:4)
可能是由于拼写错误吗?
你的帖子中的“: maxlenght =&gt; 40”是拼错的。
修改强>
我没有仔细阅读你的帖子。我认为HTML中没有textarea的maxlength属性。您将不得不在JavaScript中处理它。 “MaxLength on a Textarea”中有更多信息。
答案 2 :(得分:0)
当然不是严格意义上的事情,但是,你可以随时提出:
validates_length_of :data, max: 40
在您的模型上。当然不会停止textarea大小:)
答案 3 :(得分:0)
您可以使用maxlength属性。这是HTML5中标记的新功能。现在应该可以使用了。