问题标签 [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 投票
5 回答
10932 浏览

validation - 与服务器端验证相比,为什么客户端验证存在安全风险?

我不太明白为什么客户端验证是潜在的安全风险或比服务器端验证更多的安全风险?有人可以给我一些场景吗?

0 投票
2 回答
5586 浏览

asp.net - 使用继承的 RegularExpressionAttribute 进行 ASP.NET MVC 数据注释客户端验证

为了保持我的模型验证干净,我想实现我自己的验证属性,比如PhoneNumberAttributeEmailAttribute。其中一些可以有利地实现为继承自RegularExpressionAttribute.

但是,我注意到这样做会破坏这些属性的客户端验证。我假设某种类型的绑定在某处失败。

有什么想法可以使客户端验证正常工作吗?

代码示例

0 投票
1 回答
395 浏览

asp.net-mvc - Asp.net mvc 客户端验证 - 在同一个 div 中显示错误

如何在同一个 div 中列出所有生成的错误?

像这样的东西:

0 投票
2 回答
1113 浏览

javascript - Javascript 正则表达式帮助

有人可以帮助我使用 RegEx 模式验证以下规则吗

最大长度:15
最小长度:6
最小字符数:1
最小数字数:1
后续重复字符数:2

0 投票
1 回答
645 浏览

javascript - 文本框的客户端验证

我有一个 asp.net 控件文本框,单击它会出现一个 jquery timepicker,用户可以选择任何时间。但我想验证所选时间,使其比客户端的当前时间大一小时。我的意思是当文本框值将被更改时,它应该被验证。谁能帮助我如何做到这一点?

0 投票
0 回答
1306 浏览

asp.net - ASP.NET 使用不同的验证组验证所有验证器

我正在编写一个 ASP.NET 页面并尝试让验证工作。我的问题是我有一个包含多个自定义网格控件的转发器,每个控件都有验证器和验证摘要。

起初,我没有分配任何验证组,但这最终使验证摘要出现在每个网格中,只要有一个错误(我想,因为验证摘要的验证组没有设置,这意味着它捕获了所有验证错误)。

所以我为每个网格分配了一个单独的验证组,对于控件上的某个属性是唯一的。但是我在页面底部有一个按钮(没有验证组),需要验证输入。没有验证组,它不会自动验证网格的验证器,所以我添加了一个单击处理程序,它调用Page_ClientValidate(). 没有骰子——验证无处不在。

好的,所以我遍历验证组并调用Page_ClientValidate(validationGroup)每个验证组(如果它有任何验证器)。当只有一个网格有验证器时工作正常,但当两个或更多有验证器时,它会自动隐藏所有验证摘要,但最后一个已检查。有什么方法可以禁用这种行为,或者有更好的方法来完全做到这一点?

如果需要,我想我可以在完成迭代验证后查看并取消隐藏其他验证摘要(尽管这可能有其他含义),但我还需要取消隐藏验证器显示(我正在使用表示无效字段的图像)。这似乎是一个令人讨厌且可能很脆弱的解决方案。

编辑:哦,一个转折。我尝试采用我最后提到的方法——重新显示无效的隐藏验证器/验证摘要——但 Microsoft 代码也阻止了这一点;在ValidatorValidate(validator, validationGroup, event)方法的第一行(由Page_ClientValidate(validationGroup)页面中的每个验证器调用),validator.isvalid设置为true,并且仅设置为条件内验证函数的返回值,该条件仅在validationGroup参数与验证器匹配时运行。结果是,隐藏的验证器都被标记为有效,因此很难在事后确定验证器是否有效,因为它实际上是有效的,或者是因为微软在设计客户端验证代码时很愚蠢。

0 投票
2 回答
2244 浏览

asp.net - 在 ASP.NET MVC 中客户端验证失败时防止 jQuery 服务器端调用

我有一个启用了模型验证和客户端验证的视图页面。我有一个提交按钮,单击时我调用了一个javascript函数,该函数使用jQuery对服务器进行AJAX调用。但是当客户端验证失败时,我想停止AJAX操作。知道怎么做吗?

这是我的 JavaScript:

请帮忙。

0 投票
8 回答
7078 浏览

validation - 为什么我们需要对 Web 应用程序进行服务器端和客户端验证?

是否有任何高级理由同时对 Web 应用程序进行客户端和服务器端验证?

0 投票
2 回答
509 浏览

c# - 使用 MvcContrib FluentHtml 进行 ASP.NET MVC 客户端验证

使用内置 MVC2 代码和 MvcContrib 的 FluentHtml 构建器进行客户端验证的推荐方法是什么?我们正在使用 jQuery 客户端验证代码,而不是默认的 Microsoft AJAX 东西,如果这很重要的话(尽管我认为它不应该)。

当您Html.ValidationMessageFor(x => x.FirstName在页面上放置验证消息 ()) 时,似乎客户端验证仅在 jQuery Validate 中注册。MvcContrib 的 FluentHtmlthis.ValidationMessage(x => x.FirstName)仅适用ModelState于服务器端,如果没有错误则不会写出任何 HTML,并且不会在客户端使用 jQuery Validate 注册给定属性。

所以我的问题是:有没有办法让当前的 MvContrib 主干构建与 MVC2 的内置客户端验证一起工作,现在有点痛苦?如果是这样,怎么做?如果没有,是否有其他推荐的客户端验证(xVal 除外,我们目前正在使用并已被折旧)?是否应该在 MvcContrib 中对其进行修补以使其正常工作?最后的手段是转而使用 ASP.NET MVC 的内置输入构建器,但我们已经在 MvcContrib 上投入了大量资金,因此不愿意。

谢谢!

0 投票
3 回答
16011 浏览

regex - RegularExpressionAttribute - 如何使其对客户端验证不区分大小写?

我有一个用于客户端验证的字符串:

我在我的[RegularExpression(regex, ErrorMessage = "invalid")]属性中使用了这个字符串。

我知道/iJavascript 正则表达式的标志用于使其不区分大小写,但只是将其附加到我的正则表达式的末尾(即@"^....$/i"不起作用 - 正则表达式验证完全失败,无论输入什么(有效与否) )。

我错过了什么?