首页 > 解决方案 > Tabulator 在运行 mutator 后运行验证器

问题描述

我在制表符表中有一个列,如下所示 -

{title: "Media", field: "ttend_external_code_1", editor: "input", 
 validator:["regex:^[0-9]{0,2}$", "unique"], mutatorEdit:zero_padding, mutatorEditParams:{length_with_pad:2}}

在输入数字前面填充 0 的 mutator 函数

function zero_padding(value, data, type, params, component) {
    return value.padStart(params.length_with_pad, '0');
}

问题是该字段应包含唯一值作为验证器。如果在单元格中输入 2 位数字,它将起作用。但是,如果我输入单个数字或无数字数字,即使它不是唯一的,它也会输入 0 填充数字,无论出于何种原因,唯一验证都不起作用。有解决办法吗?我想在 mutator 数据之后捕获无效输入。

谢谢。

标签: javascriptjquerytabulator

解决方案


验证发生在 mutator 运行之前,这就是您遇到问题的原因。

数据变异仅在值通过验证后执行。

您需要编写一个自定义验证函数来处理这个特定的用例


推荐阅读