我一直在尋找一個非常簡單的問題的答案,如何阻止用戶輸入250個字符到Handsontable的單元格?我發現我可以重新創建驗證,但這不會阻止用戶輸入超過250個字符。我正在尋找類似maxlength的東西:Handsontable限制單元格字符
<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,但設法找到一個解決方案,結合這個自定義編輯器和稍微修改後的自定義渲染器。 – 2016-05-19 00:30:09