如何动态定义所需的“onlyIf”规则?
我从服务器获取所有输入的规则,格式如下:
"Var1" => array("required"=>"onlyIf", "requiredIf"=>"Var2", "min"=>1, "max"=>1000)
我循环遍历所有规则,以这种方式设置 KO 验证的规则对象:
for (var key in rules) {
var rule = new Object();
if (typeof (key.required) != "undefined")
rule.required = key.required == "onlyIf" ? {
onlyIf: function () {
return self[self.rules[key].requiredIf]();
}
}: key.required;
}
这不起作用,因为该key
变量仅在该循环中定义。
我不想明确定义“onlyIf”规则,因为我有 >100 个变量要处理,而且这些规则已经存在于服务器上。
任何帮助表示赞赏。