首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在IgGrid细胞中获得正则表达?

如何在IgGrid细胞中获得正则表达?
EN

Stack Overflow用户
提问于 2017-10-19 14:55:05
回答 1查看 580关注 0票数 2

在igTextEditor更新中,如何在igGrid上有一个正则表达式?

我试着使用验证选项,但没有起作用。

代码语言:javascript
复制
   $("#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网格,您可以在输入字段中单击并填充时间。在单击“完成”并显示错误消息之前,应该对时间进行验证。

要查看表的外观:https://codepen.io/ablablabla/pen/PJLbJz

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-20 14:56:52

缺少验证是因为validatorOptions属于editorOptions (因为它们被传递到您选择的任何作为提供者的编辑器)。validation: true只获得一些缺省值,除了所需的文本字段之外,这实际上不会对文本字段起多大作用。

然后,RegExp选项(据我所知,用于上面片段中的电子邮件)从15.2 :开始一直是pattern,所以在该时间列的最后您可以尝试:

代码语言:javascript
复制
//...
    editorOptions: {
     validatorOptions: {
       pattern: /^\d{1,2}\:\d{2}$/,
       onblur: true,
       onchange: true
     },
    },
//..

下面是一个更新的代码:https://codepen.io/anon/pen/YrgYxj

编辑:或者如果您想设置错误消息:

代码语言:javascript
复制
//...
    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

绑定到空数组,以避免第一行的错误,该行没有值,更重要的是主键。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46832828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档