问题标签 [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.js - ko.validation.group 无法识别
这是我面临的问题:
它显示错误:
未捕获的类型错误:无法读取未定义的属性“组”
任何一个ko.validation.*
都不被识别
我正在使用jquery-1.7.1.js
, knockout2.1.0
,knockout-validator.js
并希望对某些字段进行验证。
knockout.js - 根据条件验证 observableArray
我正在尝试尝试,看看是否有任何聪明的解决方案来创建自定义验证器,这些验证器可以被抽象出来以实现整洁和重用。
在下面的 jsfiddle 中,我只是将一个简单的父模型放在一起,该模型存储和测量数组(只是一个值和一个日期)。在这个例子中,我提出了两个要求。
- 每个测量要么提供两个字段,要么都必须提供。
父数组中必须至少有一个有效(满足先前条件)测量。
理想情况下,我希望将定义有效的验证逻辑存储在 Measurement 对象中,如下所示。但是,我非常讨厌的是我必须在
atLeastOne()
.
剔除验证将自动验证数字和日期的各个字段但是,我必须介入并针对数组的规则执行验证。
问题:是否有任何方法允许我设置 KO 验证以检查数组是否符合要求,同时仍然让HasValues
方法仍然驻留在测量模型中?即我想将搜索“至少一个”的概念抽象为某种可以为我处理工作的自定义验证器,然后告诉这个验证器“嘿,这是我希望你用来验证的函数数组中的每一项。”
提前致谢!
这是一个 jsfiddle 玩,有我的例子:http: //jsfiddle.net/cACZ9/
knockout.js - 从 Knockout Observable 中删除扩展器(Knockout Validation)
我有一个 Knockout 视图模型,它利用 Knockout Validation 来执行 vm 属性的验证。我正在尝试从特定订阅者函数中更改“最大”验证器值。这是我的尝试,接下来我将解释我所看到的行为。
请注意,我尝试附加验证的可观察属性(数量)是父可观察对象(inventoryToPick)的属性。现在,我看到的行为是将验证规则添加到属性中,但是,似乎最低值获胜。换句话说,如果最大值规则在第一次通过时设置为 30,然后在下一次为 10,则验证将在两次通过时正确执行。但是,如果在下一次通过时,我尝试将最大值规则设置回 30(或任何大于 10 的值),则继续强制执行最大值 10。
我认为我可以通过使用新的 ko.observable 对象设置我的属性来避开这个错误,该对象使用正确的最大值验证进行初始化,但这并没有解决问题。有谁知道去除扩展器以增强可观察到的淘汰赛的方法?还有其他建议吗?
谢谢,文尼
knockout.js - Knockout Validation 首次阻止点击处理程序
似乎淘汰验证插件以某种方式阻止执行点击处理程序。这是我的简化代码。
HTML:
Javascript:
我的场景:
- 加载页面
- 单击 VALIDATE - 出现错误消息并且警报显示 FAILED
- 在输入中输入任何文本并立即单击验证 - 错误消息消失,但没有显示警报。
- 再次单击 VALIDATE - 只有现在可以看到带有 SUCCEED 文本的警报。
如何解决此问题,以便验证按钮从第一次单击时就可以正常工作?
谢谢, 伊霍尔
validation - 淘汰赛验证在加载时立即评估
我正在使用 MVC、Knockout 和 Knockout Validation 来验证我的视图模型。
我遇到了一个问题,即视图模型属性的验证在加载时立即触发。换句话说,在用户尝试更改其值之前,我的输入旁边会显示“此字段是必需的”。
这个问题特别发生在下拉(选择)控件上。
我猜这是我通过在我的 javascript 代码的另一部分中以某种方式无意更改/访问/变异 observable 造成的问题。但是,我不知道如何追踪这一点。
有没有一种方法可以让我以某种方式订阅或跟踪导致 Knockout Validation 中验证的触发事件?我只需要知道为什么会这样。我非常有信心 isValid() 函数的值始终是错误的。
这是我的 HTML 在页面加载时如何设置的示例,不受干扰:
knockout.js - Clear error on Knockout-Validation
I have a page setup with Knockout.js and using Knockout-Validation.
During the page load I put another plugin on a select box which fires a change, which fires the validation. I need to be able to clear that error using JS so I can start with a fresh looking UI and give feedback on the form post or select box change.
I can't find anything that allows me to clear an error in Knockout-Validation.
knockout.js - 淘汰赛验证纠正错误
我正在使用 KnockoutJS 和 Knockout-Validation。我正在使用该属性errorElementClass
,但是,我希望能够在更正验证错误后将另一个类分配给元素。只有在元素遇到错误并已更正后,才会将此类分配给元素。
有没有人尝试过这种事情?
grails - 如何进行淘汰赛验证本地化
我有一个视图页面,我正在使用 knockout.js 验证字段。我想用不同国家的语言(如西班牙语、法语等)验证我的字段,即使用本地化。我已将 el-GR.js 、fr-FR.js 、 ru-RU.js 等文件添加到我的 js 文件夹中并引用它们。现在我如何验证或签入我的 modalModal.js 页面?
modalModal.js
javascript - 带有预输入的淘汰赛验证插件
我目前正在使用来自https://github.com/ericmbarnard/Knockout-Validation的验证插件,它在输入框等普通值字段上运行良好,但我无法在 typeahead 字段上显示任何验证消息。
分配给 typeahead 的 observable 具有分配给它的必需的验证规则,并且插件可以对其进行验证,例如,当它为空白时调用 isValid() 返回 false,但未显示验证消息。
我的 typeahead 自定义绑定如下:
并使用如下:
关于 github 问题的一篇文章建议在ko.bindingHandlers.validationCore.init(element, valueAccessor)
绑定的 init 部分的末尾粘贴,但这似乎没有任何帮助
knockout.js - 淘汰赛:正则表达式和所需的验证重叠?不会通过我的测试
在 ViewModel 中,我有一些属性需要和正则表达式验证(在同一属性上),如下所示:
我正在使用 Jasmine 进行测试,我注意到如果我分配的值与表达式不匹配,则该值将被忽略,并且它会运行自己的“必需”测试,就好像该属性中没有数据一样。
当我运行测试时它失败了。错误集合充满了错误,但不是因为我输入了一个应该是数字的字符串。它失败了,因为它认为该属性是空的。我从“必需”而不是“模式”中收到错误消息:
有趣的是它可以在 UI 上运行,所以如果我在绑定到该属性的字段上输入字符串值,它将触发正则表达式验证并将正确的错误消息放在字段旁边。
谁能指出我在这里缺少什么?