在igTextEditor更新中,如何在igGrid上有一个正则表达式?
我试着使用验证选项,但没有起作用。
$("#schedulerTable").igGrid({
columns: $scope.schedulerColumns,
width: "87%",
height: "300px",
fixedHeaders: true,
autoGenerateColumns: false,
autofitLastColumn: true,
autoCommit: true,
renderCheckboxes: true,
responseDataKey: "results",
dataSource: $scope.schedulerData,
updateUrl: "",
primaryKey: 'Id',
features: [
{
name: "Updating",
generatePrimaryKeyValue: function (evt, ui) {
nextPrimarykey -= 1;
ui.value = nextPrimarykey;
},
enableAddRow: true,
enableDeleteRow: true,
editMode: "row",
columnSettings: [
{
columnKey: "Id",
editorType: "numeric",
editorOptions: {
readOnly: true
}
}, {
columnKey: "Time",
editorType: "text",
editorOptions: {
},
validatorOptions: {
regExp: /^[a-zA-Z]{1}[a-zA-Z0-9_\.\-]*\@\w{2,10}\.\w{1,10}$/,
onblur: true,
onchange: true
},
required: true,
validation: true,
defaultValue: "00:00"
},
{
columnKey: "Mo"
},
{
columnKey: "Tu"
},
{
columnKey: "We"
},
{
columnKey: "Th"
},
{
columnKey: "Fi"
}]
}]
});我想在time列中实现一个时间选择器,但这并不存在,所以我尝试通过正则表达式在textEditor中只获得时间。网格中装载了名为Time的列,Mo-星期五。如果单击add in网格,您可以在输入字段中单击并填充时间。在单击“完成”并显示错误消息之前,应该对时间进行验证。
发布于 2017-10-20 14:56:52
缺少验证是因为validatorOptions属于editorOptions (因为它们被传递到您选择的任何作为提供者的编辑器)。validation: true只获得一些缺省值,除了所需的文本字段之外,这实际上不会对文本字段起多大作用。
然后,RegExp选项(据我所知,用于上面片段中的电子邮件)从15.2 :开始一直是pattern,所以在该时间列的最后您可以尝试:
//...
editorOptions: {
validatorOptions: {
pattern: /^\d{1,2}\:\d{2}$/,
onblur: true,
onchange: true
},
},
//..下面是一个更新的代码:https://codepen.io/anon/pen/YrgYxj
编辑:或者如果您想设置错误消息:
//...
editorOptions: {
validatorOptions: {
pattern: {
expression: /^\d{1,2}\:\d{2}$/,
errorMessage: "Time should match a pattern like 00:00"
},
onblur: true,
onchange: true
},
},
//..根据您的目标,您还可以使用掩模编辑器或日期编辑器作为提供者。还有强制性的docs链接:https://www.igniteui.com/help/iggrid-updating
绑定到空数组,以避免第一行的错误,该行没有值,更重要的是主键。
https://stackoverflow.com/questions/46832828
复制相似问题