【发布时间】:2011-04-05 06:10:24
【问题描述】:
我真的无法为这个问题想出一个更好的描述性标题......但情况如下:
我有一个包含多个不同输入控件的表单......并且我有两种类型的验证:
此类型可确保用户输入不违反我的应用程序的约束(必需、最大长度、正则表达式).. 这是在客户端使用 ASP.NET 验证控件完成的.. 并且已强制执行a server side validation。
这种类型在更深层次上工作,例如数据库。它会检查条目是否重复以及任何其他无法在 UI 级别完成的检查。
我使用 ValidationSummary 控件来显示第一种类型的错误,以及第二种类型错误的标签。我尝试在禁用 JavaScript 的情况下对其进行测试,它运行良好,然后我重新打开 JS,*问题来了:*
我首先尝试在 db 层上引发错误(通过输入一个已经存在的名称)并且错误显示在标签上并且一切都很好..现在我尝试从文本框中删除名称并按提交,以便我可以引发必填字段验证器错误,预期输出仅为“此字段为必填项”,但我看到的是“名称已存在”和“此字段为必填项”。
..我认为这是因为当 ASP.NET RequiredValidator 工作时,它不会进行回发,所以数据库层永远不会被验证,甚至不会清除标签!
【问题讨论】:
标签: javascript asp.net validation webforms