mirror of https://gitee.com/cf-fz/WebCAD.git
!1581 拆单增加字符串长度校验
parent
4cc0aaef75
commit
0bccddc57b
@ -0,0 +1,55 @@
|
||||
export enum RuleType { Required = 'Required', Maxlength = 'Maxlength' }
|
||||
export interface FiledRule
|
||||
{
|
||||
filed: string;
|
||||
name: string;
|
||||
[RuleType.Required]: boolean;
|
||||
[RuleType.Maxlength]: number;
|
||||
}
|
||||
export interface CheckResult
|
||||
{
|
||||
result: boolean;
|
||||
msg: string;
|
||||
}
|
||||
export class Validate
|
||||
{
|
||||
static CheckData(dataList: any[], filedRules: FiledRule[]): CheckResult
|
||||
{
|
||||
let result = { result: true, msg: '' };
|
||||
for (const value of dataList)
|
||||
{
|
||||
for (const r of filedRules)
|
||||
{
|
||||
if (r.Required)
|
||||
{
|
||||
result = this.CheckRequired(value, r);
|
||||
if (result.result == false) return result;
|
||||
|
||||
}
|
||||
if (r.Maxlength > 0)
|
||||
{
|
||||
result = this.CheckMaxLength(value, r);
|
||||
if (result.result == false) return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
private static CheckRequired(value: any, filedRule: FiledRule): CheckResult
|
||||
{
|
||||
if (!value[filedRule.filed])
|
||||
{
|
||||
return { result: false, msg: `${filedRule.name}不能为空!` };
|
||||
}
|
||||
return { result: true, msg: '' };
|
||||
}
|
||||
private static CheckMaxLength(value: any, filedRule: FiledRule)
|
||||
{
|
||||
if (value[filedRule.filed] && value[filedRule.filed].length > filedRule.Maxlength)
|
||||
{
|
||||
return { result: false, msg: `${filedRule.name}:[${value[filedRule.filed]}],超过长度限制:${filedRule.Maxlength}!` };
|
||||
}
|
||||
|
||||
return { result: true, msg: '' };
|
||||
}
|
||||
}
|
Loading…
Reference in new issue