【发布时间】:2013-04-28 16:35:05
【问题描述】:
如何动态定义所需的“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 个变量要处理,而且这些规则已经存在于服务器上。
感谢任何帮助。
【问题讨论】:
标签: validation knockout.js knockout-validation