Rails 4 - 设置文本区域的字符数限制
Rails 4 - Setting character count limit on textarea
我有一个描述字段,我想限制为 400 个字符。现在我可以输入文本,计数器显示 [current-count]/400,我可以保存并且只要我在 400 限制内就可以正常工作。
现在我也可以继续输入超过 400 的限制,然后现在当我点击保存时出现错误:
undefined method `each' for nil:NilClass
。此外,它还列出了一堆参数亚达。我知道这与我的 user.rb 验证有关。
因此,作为测试,当我从user.rb文件中删除验证时:
validates :description, length: { maximum: 400 }
无论我是否低于或超过限制,该页面都会保存,而没有任何错误消息。但我知道我需要验证。
所以我的目标是我想设置它,所以我键入类型类型,计数器计数,一旦我达到 400,我就不能再输入了。
这可能吗?我想保持这么简单,而不是试图在我的文本区域旁边添加消息,例如"您已达到极限"或其他什么。我的想法是,这样当用户尝试保存并且计数器显示任何 401/400 时,我就不会遇到此错误消息问题,因为他们无法键入超过 400 的内容。
这足够简单吗?这是我现在拥有的:
在我的用户.rb中:
validates :description, length: { maximum: 400 }
在我的视图文件中,我有以下 JAVASCRIPT(还包括计算的回车次数):
<script type="text/javascript">
$(document).ready(function() {
$('#char-count').html($('#counted').val().length);
});
$('#counted').keyup(function() {
$('#char-count').html($(this).val().length);
});
$('#char-count').html($('#counted').val().replace(/'n/g, "'n'r").length);
$('#char-count').html($(this).val().replace(/'n/g, "'n'r").length)
</script>
和我的表单字段:
<%= f.label :description, class: "col-sm-3 control-label" %>
<%= f.text_area :description, class: "form-control", id: "counted", rows: 6 %>
<p>Current character count: <span id="char-count">0</span> / 400</p>
任何帮助将不胜感激。
是的,这是可能的。
您需要为客户端文本区域验证执行此操作:文本区域字符限制
您还希望将验证保留在 user.rb 中,以确保保存的说明不超过 400 个字符:
validates :description, length: { maximum: 400 }
相关文章:
- 文本区域JavaScript中的字符限制-特殊情况
- 更换163;使用javascript从html文本区域中提取字符
- 为文本区域提供每行的最大字符限制
- Rails 4 - 设置文本区域的字符数限制
- 如何使用javascript计算文本区域中键入的字符数
- 计算文本区域中的字符数
- 限制用户在文本区域最多粘贴(40)个字符
- 获取文本区域中字符的行和列
- 多重<text区域>具有字符计数器+行限制器的字段
- 检查任何输入或文本区域中是否存在非法字符
- 粘贴文本时删除文本区域中的字符
- 重制版字符文本区域问题
- 文本区域字符限制和空格修剪
- JavaScript 防止文本区域中的特殊字符
- 文本区域中的新行字符会增加 C# 中的文本长度
- 如何使用Javascript获取文本区域内字符中的鼠标位置
- Titanium App (iOS) 中的实时文本区域字符数
- 获取文本区域(单词、行、字符)的统计信息
- JQuery 字符限制器,同时忽略文本区域中的空格
- 如何通过javascript在文本区域中插入/删除字符