【发布时间】:2013-08-17 00:25:01
【问题描述】:
我是 KnockoutJS 的新手,我在验证时遇到了一些问题。我有两个文本框,我正在尝试验证以确保 textbox1 输入值大于 textbox2 输入值。
<input type="number" id="tbLow" name="tbLow" data-bind="value: model.tbLow"/>
<input type="number" id="tbHigh" name="tbHigh" data-bind="value: model.tbHigh"/>
这是对 tbLow 的验证:
self.model.tbLow.extend({
min: 1,
max: 999999,
maxLength: 6,
validation: { validator: greaterThan,
message: 'tbHigh must be larger than Car tbLow.',
params: tbHigh }
});
这里是验证函数:
var greaterThan = function (tbLow, tbHigh ) {
return CarNumberHigh > CarNumberLow;
}
我无法获得tbHigh 的值...
有什么想法吗??
【问题讨论】:
-
您是否在我遗漏的地方使用了 getter 函数? tgHigh()
-
什么getter函数? - 其他验证运行良好(最小、最大长度等)
-
如果您需要“获取” tbHigh 的值并且它是可观察的,当您在视图模型中引用它时,您需要使用 getter 函数 tbHigh()。我不太使用验证插件,但尝试将您的参数更改为参数:tbHigh()
-
所以我应该更改验证功能?验证:{验证器:大于,消息:'车号高必须大于车号低。',参数:tbHigh()}正在抛出错误:TypeError:CarNumberHigh不是函数
-
您是否尝试过调试并查看传递给您的大于函数的值?很可能您只需要执行 tbHigh observable
标签: knockout.js knockout-validation