问题标签 [knockout-validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7589 浏览

knockout-validation - 淘汰赛验证不起作用

这可能是最简单的问题,但我无法解决这个问题。我页面上的验证不起作用。每次我提交将所有输入字段留空的页面时,都会生成一条警报,提示“失败”。如果我输入所有带有一些值数据的字段,则成功提交。

这是我的 HTML:

和我的视图模型(续上):

0 投票
1 回答
3281 浏览

css - 如何在 knockoutJS 中更改验证消息的默认颜色

我已经通过 knockoutJS 在 HTML 页面上应用了验证..当我想单击提交按钮时,验证效果很好,但消息显示为黑色......我希望它显示为红色..这是我的一小部分查看页面:

和我的视图模型(续上):

0 投票
2 回答
1844 浏览

knockout.js - 插入第一项后敲除验证消息不起作用

我找不到任何解决方案,所以这是我的问题:

我已经为一个小表单设置了验证,您可以在其中将项目添加到集合中(observableArray,稍后实际保存到 DB)。

第一个项目的验证工作正常,验证消息显示,但第二次验证消息不会显示(验证本身有效,您不能添加项目)。

这就是我所做的:

  1. 例如在 newSchool 对象中设置验证

    /li>
  2. 在 MainViewModel 中构建验证组

    self.schoolErrors = ko.validation.group({ schools: self.newSchool }, { deep: true });

  3. 在 MainViewModel 中:检查错误,否则推送到集合中,使用新的默认值初始化 newSchool 可观察对象

    /li>

出于调试原因,我打印出学校对象中已验证可观察值的 isValid 和 isModified 值。这些似乎很好。在我插入第一项后, isValid 和 isModified 都返回为false

唯一的问题,如前所述,不再显示验证消息。

对我来说也很奇怪:我不使用自定义验证消息模板,除非在一种情况下,我需要针对计算字段进行验证。这会出现,但“内置”验证消息不会。

任何想法?

0 投票
1 回答
241 浏览

knockout.js - 淘汰验证是否应该默认显示验证消息?

我正在使用淘汰赛验证插件,我创建了一个异步规则:

https://github.com/ericmbarnard/Knockout-Validation/wiki/Async-Rules

验证是否应该触发显示正常的默认验证消息?

虽然我可以看到.isValidating.subscribe它正在被验证,但我不确定验证消息是否也应该显示,或者我是否必须自己自定义。

0 投票
1 回答
4305 浏览

knockout-validation - 淘汰验证插件,从特定属性获取 isValid

是否可以查看敲除验证插件中是否只有一个属性有效?

我在文档中看不到对它的任何引用,只能查看整个模型是否有效。

例如,我希望计算出的 observable 具有不同的值,具体取决于另一个 observable 是否有效。

0 投票
1 回答
328 浏览

asp.net-mvc - 淘汰赛验证 - 高级搜索用户界面

我正在构建一个类似于 TFS 查询构建器 Web 界面的高级搜索 UI。使用淘汰赛进行客户端实现,除了最终验证以使某些必需项目基本上被选中外,其他一切都或多或少地工作。如果我选择一个项目然后取消选择该项目,它就会给我一个验证错误。这很好,但我希望在点击搜索按钮时验证表单。

我很确定我需要使用 ko.validatedobservable 方法,我只是不确定如何。 无论如何,如果有人有时间或愿意帮助我,我有一个小提琴要看:http: //jsfiddle.net/sstolp/uXBSA/ 。我会非常感激。

感谢您的时间。

0 投票
1 回答
1668 浏览

knockout.js - 淘汰赛验证:使用 validatedObservables 集合时的意外行为

在尝试验证由对象集合组成的视图模型时,我看到了意外行为validatedObservable;实际上,嵌套集合。

首先,让我指出我的演示行为的 JSFiddle:http: //jsfiddle.net/cbono/ZTXB9/8/

我的视图模型是一个App对象。它包含单个属性Services,它是Service对象的集合。每个 Service 都包含一个Retailers属性,您猜对了,它是Retailer对象的集合。每个对象都被实例化为validatedObservable,以便我可以调用isValid顶级对象并查找子对象中的任何/所有错误。

当我初始化库时,我使用:

我唯一有效的验证规则是针对零售商对象。如果选择了零售商并且零售商的名称是“Other” ( (IsSelected() && IsOther()) === true),则需要OtherDesc属性。就是这样。否则,零售商有效。

当我测试规则时(选中“其他”复选框之一并将随附的描述字段留空),验证按预期失败。但是,视图模型的errors集合包含以下内容:

self.errors.showAllMessages()此外,当被调用时,我在 JS 控制台上收到此错误:

我很确定这两个问题是相关的,但我无法拼凑出幕后发生的事情。似乎当验证库遍历对象图时,它获取了不正确类型的对象(因此没有方法),因此在错误集合中IsModified放置了一堆undefined 。

我没有按预期使用图书馆吗?我正在努力让它发挥作用,因为我真的很喜欢模型验证的想法。在 jquery.validate 之类的东西中重新创建这个验证会复杂得多。

0 投票
1 回答
765 浏览

c# - 动态表单上的淘汰赛验证

我有一个表单,其中包含根据某些条件可见的字段(此处不相关)。发生的情况是,我想根据字段的可见性对其进行验证。

到目前为止,我还没有设法更改或禁用规则(例如必需的)。

这是一个例子:

在我的 js 中,我有一个带有可观察属性的视图模型来控制表单字段的可见性。当复选框打开时,将显示电子邮件输入,因此是必需的。但如果未选中,验证规则应允许空电子邮件输入。

所以在我的视图模型中,我会有类似的东西

问题是:如何更改或删除验证规则?

谢谢

0 投票
3 回答
4098 浏览

knockout.js - 同时使用映射和验证插件的淘汰赛。获取客户端错误

我正在使用淘汰赛 js 在后端使用 asp.net mvc 4 构建我的应用程序。我们正在使用 knockout.mapping 来填充来自 MVC 服务调用的 observables

现在我正在尝试使用 Knockout.Validation 插件添加验证,如下所示:

当我运行它时,我收到以下错误:

当我调试时,我发现 sDetail 显示为空。当我 applyBindings 输入正确填充。在什么时候我可以访问 ko 视图模型的属性。有没有办法解决这个问题?

0 投票
2 回答
2989 浏览

asp.net-mvc-3 - onlyIf 验证不起作用

我在尝试做时遇到了问题:

我注意到这不起作用,但是当我像这样放回代码时,它可以正常工作:

http://sdrv.ms/WJC3fS

https://skydrive.live.com/redir?resid=33048714B5BF3B4B!2027