问题标签 [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.
knockout-validation - 淘汰赛验证不起作用
这可能是最简单的问题,但我无法解决这个问题。我页面上的验证不起作用。每次我提交将所有输入字段留空的页面时,都会生成一条警报,提示“失败”。如果我输入所有带有一些值数据的字段,则成功提交。
这是我的 HTML:
和我的视图模型(续上):
css - 如何在 knockoutJS 中更改验证消息的默认颜色
我已经通过 knockoutJS 在 HTML 页面上应用了验证..当我想单击提交按钮时,验证效果很好,但消息显示为黑色......我希望它显示为红色..这是我的一小部分查看页面:
和我的视图模型(续上):
knockout.js - 插入第一项后敲除验证消息不起作用
我找不到任何解决方案,所以这是我的问题:
我已经为一个小表单设置了验证,您可以在其中将项目添加到集合中(observableArray,稍后实际保存到 DB)。
第一个项目的验证工作正常,验证消息显示,但第二次验证消息不会显示(验证本身有效,您不能添加项目)。
这就是我所做的:
例如在 newSchool 对象中设置验证
/li>在 MainViewModel 中构建验证组
self.schoolErrors = ko.validation.group({ schools: self.newSchool }, { deep: true });
在 MainViewModel 中:检查错误,否则推送到集合中,使用新的默认值初始化 newSchool 可观察对象
/li>
出于调试原因,我打印出学校对象中已验证可观察值的 isValid 和 isModified 值。这些似乎很好。在我插入第一项后, isValid 和 isModified 都返回为false。
唯一的问题,如前所述,不再显示验证消息。
对我来说也很奇怪:我不使用自定义验证消息模板,除非在一种情况下,我需要针对计算字段进行验证。这会出现,但“内置”验证消息不会。
任何想法?
knockout.js - 淘汰验证是否应该默认显示验证消息?
我正在使用淘汰赛验证插件,我创建了一个异步规则:
https://github.com/ericmbarnard/Knockout-Validation/wiki/Async-Rules
验证是否应该触发显示正常的默认验证消息?
虽然我可以看到.isValidating.subscribe
它正在被验证,但我不确定验证消息是否也应该显示,或者我是否必须自己自定义。
knockout-validation - 淘汰验证插件,从特定属性获取 isValid
是否可以查看敲除验证插件中是否只有一个属性有效?
我在文档中看不到对它的任何引用,只能查看整个模型是否有效。
例如,我希望计算出的 observable 具有不同的值,具体取决于另一个 observable 是否有效。
asp.net-mvc - 淘汰赛验证 - 高级搜索用户界面
我正在构建一个类似于 TFS 查询构建器 Web 界面的高级搜索 UI。使用淘汰赛进行客户端实现,除了最终验证以使某些必需项目基本上被选中外,其他一切都或多或少地工作。如果我选择一个项目然后取消选择该项目,它就会给我一个验证错误。这很好,但我希望在点击搜索按钮时验证表单。
我很确定我需要使用 ko.validatedobservable 方法,我只是不确定如何。 无论如何,如果有人有时间或愿意帮助我,我有一个小提琴要看:http: //jsfiddle.net/sstolp/uXBSA/ 。我会非常感激。
感谢您的时间。
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 之类的东西中重新创建这个验证会复杂得多。
c# - 动态表单上的淘汰赛验证
我有一个表单,其中包含根据某些条件可见的字段(此处不相关)。发生的情况是,我想根据字段的可见性对其进行验证。
到目前为止,我还没有设法更改或禁用规则(例如必需的)。
这是一个例子:
在我的 js 中,我有一个带有可观察属性的视图模型来控制表单字段的可见性。当复选框打开时,将显示电子邮件输入,因此是必需的。但如果未选中,验证规则应允许空电子邮件输入。
所以在我的视图模型中,我会有类似的东西
问题是:如何更改或删除验证规则?
谢谢
knockout.js - 同时使用映射和验证插件的淘汰赛。获取客户端错误
我正在使用淘汰赛 js 在后端使用 asp.net mvc 4 构建我的应用程序。我们正在使用 knockout.mapping 来填充来自 MVC 服务调用的 observables
现在我正在尝试使用 Knockout.Validation 插件添加验证,如下所示:
当我运行它时,我收到以下错误:
当我调试时,我发现 sDetail 显示为空。当我 applyBindings 输入正确填充。在什么时候我可以访问 ko 视图模型的属性。有没有办法解决这个问题?
asp.net-mvc-3 - onlyIf 验证不起作用
我在尝试做时遇到了问题:
我注意到这不起作用,但是当我像这样放回代码时,它可以正常工作: