问题标签 [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 回答
2165 浏览

asp.net-mvc - 如何将淘汰赛验证应用于 MVC 传递的每个项目列表的属性?

以下是 ASP.NET MVC 中的视图模型:

它被传递到视图中,在定义淘汰视图模型时看起来像这样:

我想确保Email.Selectedrequired. 如何使用列表而不是单个对象来做到这一点。我知道这一定是最简单的问题,但我找不到有关该主题的任何内容。

我在客户端使用淘汰赛验证,因为 Fluent 和数据注释不幸不能与淘汰赛一起使用。

0 投票
1 回答
1711 浏览

asp.net-mvc - 如何以声明的方式对复杂的 MVC 模型进行 Knockout 验证?

从技术上讲,我已经得到了这个问题的答案,但不幸的是不是我正在寻找的答案。我不得不接受它,因为那个人一直和我一起工作,付出了很多努力。在这里,我要求同一个 qn 专门获得我所追求的答案:

我所追求的是一种在 Knockout 视图模型上表达模型字段验证的声明性方式:

拥有这个 MVC 视图模型:

并有这个淘汰赛viewModel

我需要在 Knockout 中进行哪些更改才能viewModel声明方式表达这一点。本质上,它归结为viewModel以与 MVC 类似的方式表达 Knockout,但在该模型的字段上使用Knockout验证(而不是MVC 数据注释)。

在你回答之前,请阅读到最后,它的文字不多,但我在这里寻找一些具体的东西。

0 投票
1 回答
3259 浏览

javascript - 在 Knockout JS 中处理多维数组的最佳方法是什么?

用 Knockout 处理多维数组的标准方法是什么?

假设您想使用 KnockoutJS 生成一个动态表。表的行和列是从 observableArrays 生成的。每个单元格内的数据也是可观察的(绑定到文本框的数据)。每个单元格内的数据也需要通过敲除验证进行验证。

我正在使用类似的东西来生成我的文本框的值:

这是 tbody 的两个 foreach 内:

它运作良好,但我需要能够根据我正在编辑的项目动态更改数据。一旦我更改列数或行数,就会导致各种问题。我使用油门扩展器减少了很多这些问题,方法是让渲染在渲染之前等待行和列都可以观察到。

每次更改当前编辑的项目时,我都会使用简单的 javascript 数组重新生成 qty[][] 多维数组,并且每个实际值都是可观察的。

这是我遇到的一个典型问题的示例。对于这个特定示例,我验证了我的数量值(单元格)的最小值和最大值。但是当我重新绑定包含较少行或较少列的表时,我得到以下异常(未捕获的类型错误:无法读取未定义的属性“规则”)。我正在更改行和列的 observableArrays,绑定 data-bind="$root.qty[$index()][$parentContext.$index()]" 不再有效,因为其中一个索引已超出边界。

我错过了什么?

谢谢!

0 投票
1 回答
530 浏览

knockout.js - ApplyBindings 两次,验证

我有一个网格,其中包含多个业务对象。让我们称他们为产品。当您单击该项目时,我会进行 AJAX 调用并获取数据并创建一个绑定到模式“窗口”(使用引导程序)的 Knockout viewModel。用户可以更改产品,例如他们可以将名称更改为其他名称,他们可以点击取消或保存。当用户点击保存/取消时,他们将被带回网格,然后可以单击另一个产品,从而弹出带有新产品的模式(另一个 AJAX 调用以获取数据等)。

好吧,我再次调用了 KO.applyBindings(viewModel)。我想这可能是个坏主意。我注意到的是,如果用户没有输入名称(这是必需的),我会收到两条验证消息,上面写着“需要名称”。所以这告诉我必须绑定两个事件(或某事或其他)。所以我做了几次谷歌搜索,我发现了几篇使用 ko.cleanNode(node) 的文章,如果你要调用 applyBindings 两次。那并没有解决我的问题。我正在使用 knockout.validation.js 并且我还扩展了我的 name 属性,如下所示:

无论如何要清除扩展或 unApplyBindings 吗?还是我只是用错了KO?我真的很喜欢它,但要让它做你想做的事情需要一些时间(这就是他们付钱给我的原因)。如果需要,我也许可以让 Fiddle 来证明这一点..

0 投票
1 回答
3546 浏览

validation - 如何在 Knockout-Validation 的计算属性中获取可观察属性的值

我使用 Knockout-Validation 框架来验证 viewModel。

我有一个定义如下的视图模型:

它可以在 form_onsubmit 函数中获取 property1 的值,但在计算属性“property2”中不起作用。

怎么解决,谢谢!!!!!!!!!

0 投票
1 回答
1966 浏览

knockout-validation - 如何使用敲除验证在视图模型中调用 isValid() 函数

我有一个定义如下的视图模型:

当我调用该form_onsubmit函数时,发生错误:

怎么解决,谢谢^^^

0 投票
1 回答
180 浏览

knockout-validation - 如何使用 Knockout Validation 框架在计算字段中获取可观察字段的验证结果之一

我有一个定义如下的视图模型:

正如您在上面的代码中看到的,性别字段和 brithdate 字段是从身份代码中获取的计算字段。我只是想知道如何在做之前获得身份代码的验证结果。谢谢!

0 投票
2 回答
4774 浏览

knockout.js - 在与 Knockout Validation 绑定后显示验证消息

使用 Knockout Validation 似乎仅当在控件上按下可能更改可观察值的键时才执行验证。

当我第一次绑定时,不执行验证(如果初始值无效,则不显示消息)。我只需要关注我的一个输入控件并写一封信并取消关注它,以便执行验证。

如何在第一次绑定后递归地显示每个控件周围的所有消息?我尝试了group解决方案,但是我有一个嵌套层次结构,validatedObservable这会产生超出的 maxStackSize

0 投票
1 回答
2788 浏览

jquery - 淘汰赛自定义绑定 foreach

我正在尝试创建一个验证摘要,其中包含指向KnockoutJS 验证库的错误的链接列表,我需要创建一个自定义的 foreach 处理程序来呈现它。

通过下面的代码,我想要实现的是能够监听 errors() 列表中的变化并构建验证摘要。我实际上并没有使用“错误”列表(因为它只是一个字符串列表),而是使用它来监听更改。

从我所看到的(有点相关)我的范围错误 - 因为在“ko.applyBindingsToDescendants”中需要子元素的 ViewModel,但我不确定如何实现这一点。

这是我当前的绑定代码:

还有我的模板:

0 投票
2 回答
1963 浏览

javascript - Knockout JS 对现有视图模型的验证

这是我当前未修改的代码:http: //jsfiddle.net/XABtF/

我目前正在使用jQuery ValidationKnockout Validation

我已经阅读了两者的文档并尝试将它们实施到我现有的脚本中,但都没有成功运行。以下是我尝试实施淘汰赛验证的方式:http: //jsfiddle.net/yNVeF/

我的脚本非常简单,我只想对两个 observable 进行验证,如下所示:

我试过这样做: