我遇到了一个很恶心的问题。这个问题应该比较通用,大家可能遇到过。
一个 textarea 栏位,我限制了长度是 256, 在 model 里面写:
validates_length_of :text, maximum: 256
然后浏览器端验证采用:
<textarea maxlength="256">
以及结合$('#object_text').val().length 判断。
问题就是,浏览器端判断长度的时候,回车是一个字符,但是 form post 到服务器上面,就变成了 2 个字符:\r\n 于是造成了服务器和浏览器端验证不同步的问题。
我可以在服务器端处理\r\n, 但是这个问题是否有更好的方式来进行?以及\r\n是否是标准的 form 处理回车的方式?还是只是我这边设置哪里有问题?
请有遇到的同学帮忙回复一下。