在表单发送到服务器之前,我发现textarea
中的换行代码为CR
。另一方面,在服务器(Linux,PHP,CakePHP)上,换行从CRLF
更改为CR
。
({CRLF
是2个字符,而CR
是1个字符)
我想在发送表单之前将换行符从CR
更改为CRLF
,因为我想使前端和后端验证的功能相同。
我使用的技术如下。
我尝试开发,代码在下面,但是不起作用。
在这种情况下,如果用户将内容写入到文本区域中有一个换行符,则当字符数为18时应显示验证错误消息。
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.19.0/dist/jquery.validate.js"></script>
</head>
<body>
<form id="user-form" action="#">
<label>comment: </label>
<textarea id="comment" name="comment" minlength="2" maxlength="20"></textarea><br>
<input type="submit">
</form>
$(document).ready(function() {
var org = jQuery.validator.prototype.getLength;
jQuery.validator.prototype.getLength = function(value, element) {
value = value.replace(/¥n/g, "++");
return org.apply(this, [value, element]);
};
$('#user-form').validate({});
})
</body>
</html>