定义策略类和验证类
interface Rules {
require?: Boolean,
minLength?: Number,
maxLength?: Number,
message: string,
pattern?: RegExp
}
// 策略类
class Strategies {
protected require(value: string | Number, message: string): string {
return value ? '' : message;
}
protected pattern(value: string, reg: RegExp, message: string): string {
if (reg.test(value)) {
return '';
} else {
return message;
}
}
protected minLength(value: string | Number, len: Number, message: string): string {
if ((<string>value).length) {
return (<string>value).length >= len ? '' : message;
} else {
return value.toString().length >= len ? '' : message;
}
}
protected maxLength(value: string | Number, len: Number, message: string): string {
if ((<string>value).length) {
return (<string>value).length <= len ? '' : message;