【发布时间】:2013-11-06 12:47:31
【问题描述】:
我将Validation.Add() 和Html.TextBox()(及相关)助手与不显眼的JavaScript 错误检查结合使用,并且对结果非常满意。它用一组代码覆盖了服务器端和客户端,通常我已经能够实现我需要的一切。
我遇到了一些障碍,因为在某些时候您需要运行自己的逻辑来建立错误案例。如果此错误直接与某个字段相关,最好手动将该字段标记为带有任意错误消息的错误源 - 我相当确定没有办法开箱即用。为了澄清我的意思,一个例子是一个用户名字段,它需要检查用户名是否已经在使用 - 如果是,则会生成错误。
目前,我正在使用Validation.AddFormError() 将其添加到表单错误集合中,该方法有效,但仅在摘要中显示错误。看到,在上面的例子中,错误显然与用户名字段有关,能够将该错误与适当的字段名称联系起来(并将其显示在正确的位置)似乎是合乎逻辑的。
我应该只从RequestFieldValidatorBase 派生并制作一个仅将false 返回到IsValid() 的验证器吗?显然,作为服务器端检查,我不希望在客户端检查它,尽管我知道通过为验证系统编写更具体的验证器和插件,公开更多 data- 属性和执行 AJAX 检查。我对这个问题感兴趣的是一个更通用的解决方案:将特定字段标记为服务器端错误的来源。
希望这是有道理的。人们会推荐什么作为解决此问题的最佳方法?
【问题讨论】:
标签: c# asp.net webmatrix asp.net-webpages webmatrix-2