Кажется, что разрыв строки не учитывается как часть максимальной длины, заданной в текстовой области, что вызывает ошибки при публикации в базу данных. Я пытался добавить валидацию, как это, но она не в состоянии захватить, когда пользователь копирует значения вставки в текстовой области. Кто-нибудь может пожалуйста посоветовать?
$("textarea.objective").on("keydown keyup", function(e) {
var x = $(this).val()
var newLines = x.match(/(\r\n|\n|\r)/g);
var addition = 0;
if (newLines != null) {
addition = newLines.length;
}
var maxLength = parseInt($(this).attr("maxlength")) ;
if (maxLength <= $(this).val().length + addition
&& e.keyCode !== 46
&& e.keyCode !== 8) {
e.preventDefault();
$(this).css('background-color', '#ffe8f3');
} else {
$(this).css('background-color', '#fff');
}
});