UNPKG

tsp-component

Version:

提供多端和react版本的UI组件

61 lines (53 loc) 1.63 kB
/// <reference path="./definition.d.ts" /> /// <reference path="../util/validate/definition.d.ts" /> import { regexp } from '../util/validate'; class FormCore { constructor(params: TspComponentFormCoreParams) { this.elem = params.elem; if (params.required) { this.setRequired(params.required); } if (params.patternType || params.pattern) { this.setPattern({ pattern: params.pattern, patternType: params.patternType, patternTrigger: params.patternTrigger, patternMsg: params.patternMsg, }); } this.setValue(params.defaultValue); } public elem: HTMLElement; /** * 设置必填属性 */ public setRequired(required: string): void { this.elem.dataset.required = 'true'; this.elem.dataset.requiredMsg = required; } /** * 设置验证规则 */ public setPattern(params: TspComponentFormCoreSetPatternParams): void { const { pattern, patternType, patternTrigger, patternMsg } = params; if (pattern) { this.elem.dataset.pattern = pattern.toString(); } else { this.elem.dataset.pattern = regexp[patternType].toString(); this.elem.dataset.patternType = patternType; } if (patternTrigger) { this.elem.dataset.patternTrigger = patternTrigger.toString(); } if (patternMsg) { this.elem.dataset.patternMsg = patternMsg; } } /** * 设置data-index */ public setValue(value: string | number): void { this.elem.dataset.value = value ? value.toString() : ''; } } export default FormCore;