[]
可以通过实现 ISupportDataValidation 接口与活字格原生数据校验功能集成。
C#示例代码如下:
public class MyPluginCellType : CellType, ISupportDataValidation
{
public DataValidationLink DataValidationLink { get; set; }
}
设计器中效果如下:
在JavaScript中,可以通过 validate 方法触发校验,通过 hideValidateTooltip 隐藏校验失败的信息。
示例代码如下:
class MyPluginCellType extends Forguncy.Plugin.CellTypeBase {
createContent() {
this.input = $("<input style='width:100%;height:100%'>");
this.input.attr("id", this.ID); // 必须设置ID,否则hideValidateTooltip不工作
this.input.change(() => {
this.commitValue();
})
this.input.blur(() => {
this.validate(); // 丢失焦点时触发数据校验
})
this.input.on("input",() => {
this.hideValidateTooltip(); // 用户修改值时隐藏出错Tooltip
})
return this.input;
}
setValueToElement(_, value) {
this.input.val(value?.toString());
}
getValueFromElement() {
return this.input.val();
}
}
Forguncy.Plugin.CellTypeHelper.registerCellType("MyPlugin.MyPluginCellType, MyPlugin", MyPluginCellType);
注意
Tooltip是挂到标注了 ID 的Dom上的,所以 this.input.attr("id", this.ID); 这句代码是必须加上的,否则hideValidateTooltip 方法将无法工作。