问题标签 [client-side-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 投票
2 回答
1963 浏览

asp.net-mvc-2 - jquery.validate 在 ajax 替换时丢失,只显示最后一个错误

我在 MVC 2 中使用 jquery.validate 和 MicrosoftMvcJQueryValidation。我的模型上有数据注释,然后将其转换为 jquery 验证器。我正在使用Soe Tun概述的对 MicrosoftMvcJQueryValidation 的修改,以允许我的错误消息出现在验证摘要中,而不是在控件旁边。

当页面加载时,一切都按预期工作。问题是我使用带有替换模式的 ajax 表单来重写表单。当我这样做时,我失去了所有客户端验证。

验证仍然发生在服务器端,并且正确地为有错误的字段提供 css 类以更改其样式。但是,我的验证摘要中只显示最后一条错误消息。

控制器没什么特别的。如果模型有效,则工作,否则将相同的模型返回到视图中。

这是我的ajax表单示例

这是修改后的javascript。

我已经尝试将准备好的文档底部的调用移动到我的 OnSuccess 方法中,但这并没有做到。

那么,当我进行 ajax 替换时如何让客户端验证重新初始化,以及如何让我的所有错误显示在验证摘要中?我希望如果我解决了一个问题,它会纠正另一个问题。

编辑:

这是关于我在做什么的更多信息

这是包装

这是付款面板。

现在我的新付款方式面板

每个表格都以这样的开头

初始负载有效。任何 ajax 替换都会导致表单上下文丢失并且无论我做什么都不会重新初始化。表单回发,验证发生在服务器端。所有无效字段都已更改(添加了 css 错误类),但摘要中仅显示最后一个错误。

0 投票
2 回答
3483 浏览

javascript - How do you ignore hidden page elements when validating using jquery.validationEngine.js?

I have a div who's style defaults to "display: none" until a previous field has been filled out, and it contains a drop down list that requires a selection.

If the page is submitted before this div becomes visible, the validation error appears to the left half-off the page.

This is not a functional problem of course, but I've been wondering if there's a way to have the validation engine ignore hidden elements.

So far I've tried class="validate[optional: Special]" as pointed out on the creator's blog: "optional: Special: Only validate when the field is not empty *Please call optional first". It doesn't seem to work as suggested.

I've also tried using jquery.validate "ignore":

This may be a simple oversight on my part, we'll see! Thanks.

0 投票
2 回答
318 浏览

asp.net-mvc - 将 MVC1/xVal 项目升级到 MVC2 并与客户端验证兼容

我目前正在这里寻找将项目从 MVC1 迁移到 MVC2。我们使用 xVal 进行客户端验证。

据我了解,我只需要删除对 xVal 的引用并用 MVC2 EnableClientSideValidation 替换它就可以了。还需要什么吗?

此外,由于 xVal 无法在客户端验证模型列表,MVC2 + ClientSideValidation 仍然是这种情况吗?(我对“模型列表”的意思是对 a 进行验证List<TypeOfModel>

这方面的例子是:控制器:

型号1:

型号2:

看法:

视图2:

这是 MVC2 客户端验证失败的 POC,因为它通过字段 id 进行验证...

0 投票
5 回答
10094 浏览

asp.net - 如何在不提交的情况下触发 ASP.NET 客户端验证?

我在 ASP.NET(WebForms,NOT MVC)中有一个网站,其中有一个调查表,分为几张幻灯片。每张幻灯片都有一个下一张按钮,显然会转换(客户端,不是回发或远程请求)到下一张幻灯片。

在每张幻灯片中,我都有几个带有相关验证器的 ASP.NET 控件。我希望在单击下一个按钮时触发此验证器(或者当每个输入失去焦点时?)。

我记得 ASP.NET 在失去焦点时进行客户端验证,但也许我错了......(我退出 ASP.NET 开发大约 3 年了,所以我不记得了)

谢谢

更新:

当关联的控件失去焦点时,最好让 ASP.NET 触发每个验证器。我记得 ASP.NET 这样做(或者我在做梦?=P)

0 投票
2 回答
190 浏览

asp.net - ASP.NET 验证:从客户端验证收集信息

我想实现 ajax 消息框,当客户端验证触发时,它将从页面上的验证器收集信息。喜欢:我将一些文本字段留空,然后按提交按钮并适当的RequiredFieldValidators 显示消息。我希望我的消息框也显示这些消息。我正在寻找合适的方法来挂钩验证器 JS 事件或其他东西。

谢谢!

0 投票
3 回答
9983 浏览

validation - MVC3 中的 IValidatableObject - 客户端验证

使用 MVC3,您有两种添加自定义验证的新机制。它们是 (1) 子类 ValidationAttribute 或 (2) 实现 IValidatableObject。

ValidationAttribute 允许您通过实现 IClientValidatable(并通过 jQuery 注册新的适配器和方法)相对简单地添加客户端验证。

IValidatableObject 更适合不能重用的一次性验证要求。它还导致代码更简单。因此,在许多情况下,这将是我的选择。不幸的是,我没有看到使用这种方法实现客户端验证的简单方法。

所以问题是我缺少什么以及在使用 IValidatableObject 时如何获得 JS 验证?

0 投票
1 回答
2422 浏览

asp.net-mvc-3 - ASP.NET MVC 3 - 带有钱字段的客户端验证

我确实在这里这里关注了这个博客。

我有以下问题。

我表格中的一个字段是 currecy 格式,来自巴西。我正在使用客户端验证。除了一个问题,一切都很好。

我有 2 个验证:

REQUIRED 规则可以正常工作,MoedaReal 规则可以正常工作。在这些规则通过之后,一个最终规则被触发:

  • Taxa de adesão 字段必须是数字

我已经尝试在这一行中更改 web.config:

我接受的数字格式是:

我怎样才能“愚弄”.NET 来接受这种格式?因为它需要 DECIMAL 格式。

0 投票
3 回答
2128 浏览

asp.net - 禁用 Asp.Net 站点中的所有客户端验证

我想禁用 Asp.Net 网站中的所有客户端验证,以测试服务器端验证是否正确(即我想针对更改响应或篡改客户端脚本的人进行测试)

目前,我要么——

  • 在浏览器中禁用 JS
  • 手动禁用单个验证器的客户端验证。

是否有一个全局设置?

0 投票
2 回答
1190 浏览

asp.net-mvc-3 - 在 MVC3 中客户端验证为真时呈现的 html 之间的区别

我正在创建一个全新的 MVC3 站点。在 web.config 上启用客户端验证

场景 #1:在(客户端)验证失败后生成的输出 HTML:

注意嵌套的 span 标签,其中最里面的标签有一个 class=""

场景 #2:自定义服务器端验证。使用相同的 web.config 配置,我在服务器上添加了一个验证来检查自定义业务规则。验证失败,我将错误添加到 ModelState。

生成的 HTML 如下所示:

请注意,只生成了一个 span 标签,而不是嵌套标签。

这种行为使处理我的 CSS 变得很痛苦,因为我不能只设置 .field-validation-error 类的样式,因为我生成的 HTML 上有 2 个不同的最终结果。

总结:客户端验证仅生成 1 个跨度标记,服务器端验证生成 2 个跨度标记。

问题:这是框架的缩进行为还是我做错了什么?

0 投票
1 回答
3851 浏览

c# - Clientside Validation in "Self Validate Model" in ASP.NET-MVC3

This is a followup question for this one: How does DataAnnotations really work in MVC? There is an example custom validation, and a "Self Validate Model" was mentioned. It is quite interesting, but I don't understand how to write a client side validation for it.

Can my model object implement the IClientValidateble interface (or it is for the dataannotation attributes only?), I would like to see an example on how to do it.

Edit: To my understanding, the "Self Validate Model" works without using DataAnnotations, and declares the validation logic inside the class which properties I'm validating, and it's not (necessarily) using attributes to validate something.

All of the examples I have seen on custom client side validation is about the dataannotation attribute implementing IClientValidatable.

When I'm declaring my validation logic in my class, I don't use attributes to validate the models state.

How to write clientside validation when I'm declaring my validation logic in the Validate method of the model class implementing the IValidatebleObject interface?

Can the class I'm actually passing to the view implement the IClientValidatable interface or something similar?