public class RuleValidator implements IValidator
规则校验器, 由一个规则表达式, 来表达校验逻辑
1 格式 规则表达式是由多个(函数调用的)规则子表达式组成, 规则子表达式之间以空格分隔, 格式为 a(1) b(1,"2") c(3,4) 规则子表达式是函数调用, 格式为 a(1,"2")
2 限制 无意于实现完整语义的布尔表达式, 暂时先满足于输入校验与orm保存数据时的校验, 因此: 运算符没有优先级, 只能按顺序执行, 不支持带括号的规则子表达式
| 限定符和类型 | 类和说明 |
|---|---|
static class |
RuleValidator.Companion |
IValidator.DefaultImpls| 限定符和类型 | 字段和说明 |
|---|---|
static RuleValidator.Companion |
Companion |
| 构造器和说明 |
|---|
RuleValidator(java.lang.String label,
java.lang.String rule)
规则校验器, 由一个规则表达式, 来表达校验逻辑
|
| 限定符和类型 | 方法和说明 |
|---|---|
IValidator |
combile(IValidator other)
合并2个校验器
|
IValidator |
combile(NonExistentClass other)
合并2个校验器
|
java.lang.Object |
executeSubRule(NonExistentClass subRule,
java.lang.Object value,
java.util.Map<java.lang.String,? extends java.lang.Object> variables,
java.lang.String label)
运算规则子表达式
|
java.lang.String |
getLabel() |
java.lang.String |
getRule() |
java.util.List<NonExistentClass> |
getSubRules()
规则子表达式的数组
一个规则子表达式 = listOf(函数名, 参数数组)
参数数组 = listOf("1", "2", ":name") 参数有值/变量(如:name)
|
java.lang.Object |
validate(java.lang.Object value,
java.util.Map<java.lang.String,? extends java.lang.Object> variables)
执行规则表达式
// 编译
val rule = ValidationExpr("trim notEmpty email");
// 执行
val result = rule.validate(value);
|
combile, combile, validatepublic static RuleValidator.Companion Companion
public RuleValidator(java.lang.String label,
java.lang.String rule)
规则校验器, 由一个规则表达式, 来表达校验逻辑
1 格式 规则表达式是由多个(函数调用的)规则子表达式组成, 规则子表达式之间以空格分隔, 格式为 a(1) b(1,"2") c(3,4) 规则子表达式是函数调用, 格式为 a(1,"2")
2 限制 无意于实现完整语义的布尔表达式, 暂时先满足于输入校验与orm保存数据时的校验, 因此: 运算符没有优先级, 只能按顺序执行, 不支持带括号的规则子表达式
public java.util.List<NonExistentClass> getSubRules()
规则子表达式的数组 一个规则子表达式 = listOf(函数名, 参数数组) 参数数组 = listOf("1", "2", ":name") 参数有值/变量(如:name)
public java.lang.Object validate(java.lang.Object value,
java.util.Map<java.lang.String,? extends java.lang.Object> variables)
执行规则表达式 // 编译 val rule = ValidationExpr("trim notEmpty email"); // 执行 val result = rule.validate(value);
public java.lang.Object executeSubRule(NonExistentClass subRule,
java.lang.Object value,
java.util.Map<java.lang.String,? extends java.lang.Object> variables,
java.lang.String label)
运算规则子表达式
public java.lang.String getLabel()
public java.lang.String getRule()
public IValidator combile(IValidator other)
合并2个校验器
public IValidator combile(NonExistentClass other)
合并2个校验器