我在使用具有 TextBox 和 requiredFieldValidator 的标准 ASP.NET 页面时遇到问题。重现的步骤非常简单:
- 在页面上放置文本框
- 在页面上放置一个RequiredFieldValidator
- 将RequiredFieldValidator指向文本框
- 运行应用
- 按 Tab 键离开 TextBox,RequiredFieldValidator 不显示
- 输入文本,然后删除文本,然后按 Tab 键移开,RequiredFieldValidator 会显示
在回发后,RequiredFieldValidator 在这两种情况下都可以正常工作,但是客户端代码似乎只有在文本框中输入某些内容(然后删除)后才会触发。
有谁能在不破坏 JavaScript 的情况下找到解决方案吗?
最佳答案
这种行为是否可能是有意设计的,目的是在用户输入之前抑制验证控件的出现?
一般来说,只要单击 CausesValidation 设置为 true 的控件(例如提交按钮),就会调用 Validate()。
无论如何,一个穷人的解决办法是,您可以从 Load 事件处理程序中调用页面 Validate() 函数。这将使事情变得更清楚,以标记满意的用户,他们需要输入一些内容。例如
protected void Page_Load(object sender, EventArgs e)
{
Validate();
}
关于asp.net - 必填字段验证器未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/261050/