问题标签 [unobtrusive-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 投票
3 回答
17347 浏览

asp.net-mvc-3 - ASP.NET MVC 3 不显眼的验证和单选按钮

我正在尝试对单选按钮列表进行必要的验证,以强制用户选择一个选项以继续。验证确实有效,但它仅在第一个单选按钮上输出元数据,并且仅使用类 input-validation-error 标记第一个单选按钮。

例子:

生成的 HTML:

我希望两个单选按钮都能获得验证错误类,否则可能会导致用户选择的选项出现偏差。

我能做些什么?

0 投票
6 回答
11899 浏览

javascript - mvc3 验证输入“不等于”

我的表单具有默认帮助文本的输入,可指导用户输入内容(而不是使用标签)。这使得验证变得棘手,因为输入值永远不会为空。

如何扩展不显眼的验证来处理这个问题?如果名称输入等于“请输入您的姓名...”,则该表单应该无效

我开始阅读Brad Wilson 关于验证适配器的博客文章,但我不确定这是否是正确的方法?我需要能够根据字段验证不同的默认值。

谢谢

0 投票
2 回答
1347 浏览

asp.net-mvc - “HttpPostedFileWrapper”上的 MVC 模型验证

有人可以帮我对 HttpPostedFileWrapper 对象进行模型验证吗?

模型:

控制器:

cshtml:

问题:

  1. 看不到添加到 html 的“data-val*”属性。
  2. 不关闭不显眼的验证(输入框上的红色边框)

笔记:

  1. 模型中的其他项目在验证方面工作正常,只有<input type="file"/>它似乎有问题。
  2. 进入操作方法很好 - (即 - 如果我愿意,我可以访问 InputStream)。
  3. 所有脚本都被正确引用(它适用于普通文本输入)

提前致谢,

0 投票
3 回答
21819 浏览

jquery - 具有动态添加字段的客户端验证

我在 ASP.NET MVC 中使用 jQuery 的不显眼的验证插件。在服务器上呈现的任何字段都经过正确验证。

但是,如果我使用 JavaScript 在表单中动态添加一个字段,即使它具有适当的 HTML5data-*属性,也不会对其进行验证。

任何人都可以指导我如何实现这一目标吗?

0 投票
1 回答
3717 浏览

jquery - JQuery Unobtrusive Validation 在不应该触发下拉列表时触发

我在使用视图模型的 .NET MVC3 中有以下内容。我正在使用 Razor 和 FluentValidation(但我也尝试过 DataAnnotations,结果相同)。

从视图:

从控制器:

从视图模型:

从我的验证器类(流利):

以及生成的 HTML:

现在的问题:

我从预填充的 IEnumerable (RegisteredL2s) 中提取 L2 字段,并将其作为下拉列表(ID=L2,大约在 html 的中间)。L2 是必需的,并且必须具有一定的长度 (2)。我的问题是,即使用户选择了 [Select One] 以外的其他内容,也会出现长度错误。如果我删除该错误,则会出现正则表达式错误。提交时的服务器端验证工作正常。为什么要这样做,我该如何阻止它?或者我可以关闭这个字段的客户端吗?

更新: 我相信我发现 jquery.validate.js 存在问题...我希望有人确认这一点。

这是我更改的原始代码行,似乎解决了我的问题:这是第 683 行。第 686 行是问题点。

我相信,当您有一个必需的下拉值和长度验证器时,它会产生错误。当我运行我的代码时,此行的长度返回 1 而不是 2。如果我将粗体线更改为return $("option:selected", element).val().length;它可以正常工作。关于这是否是一个正确的错误以及我的修复是否不会干扰 jquery.validation 的任何其他部分的任何评论都会有所帮助。

这是来自 jquery.validation 1.8.1(从 1.7 更新,因为我认为我的版本可能不同步)Jquery = 1.6.1。

更新 2: 不确定这是否应该是一个确切的答案,但是:

事实证明,根据 rangelength 的 JQuery.Validation 文档(这是 jquery.validation.unobtrusive 构造的长度正好为 2)here它声明对于选择(下拉列表)它是为了确保一定数量的项目已经选择不用于验证值的长度。

我正在检查值长度或在客户端关闭此特定项目的验证,同时保留验证服务器端。

0 投票
1 回答
11271 浏览

asp.net-mvc-3 - asp.net mvc 3 jquery 手动添加验证消息

我已经搜索了很长时间,但无法找到答案。

我正在使用带有不显眼验证的 asp.net MVC 3。我的模型绑定了用于简单验证的数据注释(必填字段、正则表达式等)。但是,我在服务器上进行了更复杂的验证。我正在做一个 ajax 帖子,它返回来自我的域模型的验证添加消息。我要做的就是将这些验证消息放在表单上以代替现有的。我不想使用部分视图,因为我真正得到的只是返回的消息,并且不需要刷新整个视图。此外,我不会向表单添加新规则或新输入,因此 $.validator.unobtrusive.parse 将不起作用。这些只是我想放在表格上的信息。$.post 调用返回一个消息列表,其中字段受到/受到影响以及验证消息。

这就是我想要做的事情

谢谢你的帮助

根据请求,这里是返回 JSON 的示例,它相当简单。

消息是包含严重级别、错误所属的属性和错误消息的对象列表。我会使用消息对象中的名称来匹配表单上所需的位置。

0 投票
2 回答
8392 浏览

asp.net-mvc-3 - mvc3 jquery 不显眼的验证语言环境十进制字段

我正在使用不显眼的验证来处理本地化的 mvc3 Web 应用程序。在 web.config 我有:

Jquery 1.4.4 和 jquery 验证 1.6 正在使用中。

问题在于十进制数字分隔符。

我可以看到 jquery 验证忽略了文化,并且期望点字符始终是小数点分隔符。我需要改用逗号。例如,我认为在德语中也是如此。

我创建了自己的 methods_pl.js 文件:

以上是解决十进制数根本无法识别的基本问题。

但是当我尝试在我的模型 Decimal Price 属性上使用 RangeAttribute 时,它​​仍然不起作用。如何解决这个问题?

0 投票
2 回答
8181 浏览

jquery - 部分视图中不显眼的客户端验证

我有一个在 jQuery UI 对话框中呈现的局部视图。因为它是动态内容,所以不显眼的客户端验证是行不通的。为了得到它,我必须强制验证器解析表单的内容调用$.validator.unobtrusive.parse();。但它不起作用。我的浏览器报告未定义不显眼的对象。为什么会这样?也许 jQuery 库中有一些变化,现在整个事情的工作方式不同了。我正在使用 jquery-1.6

0 投票
1 回答
1140 浏览

jquery - 添加 MVC3 不显眼的验证 (addMinMax)

我有这样的属性:

和 JS 验证器表示:

而且这个js不起作用(没有例外......可能已经死了& :))

但这很好用:

它出什么问题了?错在哪里?

0 投票
4 回答
15777 浏览

validation - 如何在 $.ajax() 中或之前强制表单客户端验证

我有一个表单,并且启用了不显眼的验证。默认情况下,在提交方法中客户端验证被触发,并且(如果您有任何错误)表单如下所示:

在此处输入图像描述

验证甚至在任何数据发送到服务器之前发生。

现在,如果您想使用 $.ajax 方法,此行为将不起作用。客户端验证不起作用。您必须手动检查 javascript 中的所有字段,从而失去 DataAnnotations 的所有美感。

有没有更好的解决方案?我本可以使用 jquery 的submit()但我猜它没有像$.ajax这样的回调。