Я искал ответ на очень простой вопрос, как остановить пользователя от ввода 250 символов в ячейку Handsontable? Я обнаружил, что могу воссоздать проверку, но это не остановит пользователя ввода более 250 символов. Я ищу что-то вроде MAXLENGTH:Сопряженные символы лимитированных символов
<input id="notes" maxlength="250" />
var date_validator_regexp = /(^$|^(0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])[/][0-9]{4}$)/;
var limit_validator_regexp = /(^[\s\S]{0,250}$)/;
$("#gridUpdateNotes").handsontable({
startRows: 1,
startCols: 2,
colHeaders: ["Date", "Notes"],
columnSorting: false,
enterBeginsEditing: false,
autoWrapRow: true,
autoWrapCol: true,
minSpareRows: 1,
colWidths: [140, 450],
removeRowPlugin: true,
copyPaste: true,
afterValidate: function (isValid, value, row, prop, source) {
if (isValid == false && prop === "Notes") {
alert("The Notes cannot have more than 250 characters.");
}
},
columns: [
{
data: "NoteDate",
type: "date",
dateFormat: "mm/dd/yy",
allowInvalid: false,
validator: date_validator_regexp
},
{
data: "Notes",
allowInvalid: false,
validator: limit_validator_regexp
}
]
});
Самое замечательное в этом по сравнению с другим ответом: пользователю даже не разрешено вводить символы maxLength. Я не мог использовать его совсем как есть. Никогда не выяснялось, как установить пользовательскую cellProperties.maxLength, но удалось найти обходное решение с комбинацией этого настраиваемого редактора и слегка измененного настраиваемого средства визуализации. –