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