在我可以进一步使用它之前,我有数据和一系列验证(业务逻辑)。如下: -
{
"site" : "UK",
"domain" : "xyz.UK",
"currency" : "DOLLAR",
"type" : "unlimited",
"limit" : ""
}
{
"site" : "UK",
"domain" : "xyz.UK",
"currency" : "EURO",
"type" : "limited",
"limit" : "100"
}
{
"site" : "US",
"domain" : "xyz.COM",
"currency" : "DOLLAR",
"type" : "limited",
"limit" : ""
}
验证FLOW就像
域名验证
网站= us>> domain = .com
Site = uk>> domain = .uk
货币验证
网站= us>> currency = DOLLAR
Site = uk>>货币=欧元
类型验证
网站= us>> type ="仅限于"
网站= us>> type ="有限/无限制"
type = limited>>限制> 0
type = unlimited>> limit == null
因此只有第二个JSON才能通过验证。第一个有错误货币,3个一个限制为空。 更多字段将继续添加,验证将继续增加。我不想把验证放在JAVA代码中 因为我必须一次又一次地更改代码。有没有其他方法来保存验证/规则和DB和中的顺序 从DB获取验证/规则以验证数据。如果我需要更改或添加更多,我可以修改数据库。
答案 0 :(得分:0)
假设财务数据集可用作Java bean(并且存在拼写错误的美国/英国),则第三次验证可写为:
rule "check type"
when
Data( site == "US" && type == "limited ||
site == "UK" && type == "limited || == "unlimited,
type == "limited" && limit != null && limit > 0 ||
type == "unlimited" && limit == null )
then
// Data's type and limit is OK
end
这条规则将通过"传递"支票。为了确定什么是错误的,你需要更多的规则,每个规则都指出了一些错误。