我习惯使用敲除验证插件进行验证,突然间我遇到了一个我无法摆脱的问题。
Html onLoad:
<input class="form-control" type="text" data-bind="value:$data.Name"/>
<span class="required" style="display: none;"></span>
<span class="required" style="display: none;"></span>
视图模型:
function details() {
var self =this;
self.Name = ko.observable("");
self.Validation = ko.validatedObservable([
self.Name.extend({ number: true })
]);
}
当我删除self.Name.extend
时,我获得no
span标记onLoad,但如果我保留它,那么我会得到两个span标记,因此我会得到同样的错误消息,显示两次受控{{1} }&amp; this field is required
。
我还调试并检查了该功能仅执行一次。
我提到了this,但我无法解决我的问题。
我希望有人能够说明这个问题。
答案 0 :(得分:3)
Hsakarp
在发布有价值的评论here
我的部分页面之一是使用knockout validation.js引用的,我的主布局页面中有相同的验证文件。我没有注意到我的同事添加的脚本文件。
最后,我试图看到View Source
然后我清楚地看到有两个同类型的淘汰验证脚本文件。所以我删除了部分视图中包含的其中一个修复了我的问题。