已经写了很多关于不只依赖客户端验证的文章。这只是为用户提供方便,并减少了服务器处理。这不是这个问题的内容。
我不知道这是否特定于 ASP.NET MVC 或所有 JQuery 验证,但这就是我的问题的来源。当您使用启用了客户端验证的 ReqularExpressionAttribute 时,HTML 输出类似于: data-val-regex-pattern="^[0-9a-zA-Z]{3,12}$" 只是为了抛出一个基本示例。
这不是相当不安全,明确地放弃你的表达式正在检查和不检查的内容吗?当用户可以轻松准确地阅读验证方案时,似乎更容易利用验证方案中的漏洞。而且它与服务器使用的表达式相同,因此他们也可以看到服务器检查的内容。
更新
我的示例表达式不太适合描述问题。这是关于具有非常严格格式的更复杂的数据值,并且您无意中忽略了一些漏洞