【发布时间】:2012-08-31 20:02:12
【问题描述】:
我遇到了在文本框上执行的验证问题,该文本框在代码隐藏文件中设置了文本,它根据数据表中的数据设置文本。问题是,当我加载页面并单击一个按钮时,验证会按原样运行,但是已使用文本设置的字段无法通过验证 - 他们不应该这样做。
前端代码为:
<asp:TextBox ID="tbName" runat="server" ></asp:TextBox>
<asp:RequiredFieldValidator ID="tbRequired" EnableClientScript="true"
Display="Dynamic" runat="server" ControlToValidate="tbName" ErrorMessage="Please enter a name"></asp:RequiredFieldValidator>
后端代码为:
tbName.Text = dtDetails.Rows[0]["Name"].ToString();
任何建议将不胜感激。
干杯
例如,当页面加载时设置了文本框(来自代码后面,因此不是用户输入),例如“John”(此文本在文本框内),当单击页面上的按钮时,错误消息显示例如“请输入姓名”旁边的文本框,其中包含约翰。
必填字段中有文本,我不确定它为什么显示错误消息。用代码设置文本框文本而不是在页面上输入它会是一个问题吗?
【问题讨论】:
-
您使用的是RequiredFieldValidator控件,它仅在要验证的控件为空时进行验证
-
正确,但是当文本框中有文本时验证失败。
-
是正确的,这是RequiredFieldValidator 的默认行为,因为文本有值,所以无法验证。
-
在文本框获取文本的位置发布您的源(事件)
-
方法太长太post,但我认为这不应该是导致验证出现问题的问题。
标签: asp.net validation webforms datatable