Как динамически определить необходимые правила «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 переменными, и эти правила уже присутствуют на сервере.
Любая помощь приветствуется.