我有一个简单的表单,文本框上有一个必需的Validator。当我将文本框保留为空白并检查Page.isValid时,它总是正确的。我不知道我做错了什么,使页面永远是真实的。
<asp:TextBox ID="txtVendorTracking" runat="server" Width="150px"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvTxtVendorTracking"
InitialValue="Enter Vendor Tracking Nbr" runat="server"
ErrorMessage="Vendor Tracking Required." ControlToValidate="txtVendorTracking"
ValidationGroup="val" Display="Dynamic">*</asp:RequiredFieldValidator>
<asp:Button ID="btnSave" runat="server" Text="Save" Width="100px" onclick="btnSave_Click" ValidationGroup="val"/>
protected void btnSave_Click(object sender, EventArgs e)
{
Page.Validate(MasterValidation.ValidationGroup);
if (!Page.IsValid)
{
ModalPopupExtender3.Show();
txtRONbr.Focus();
return;
}
}发布于 2014-04-11 14:25:20
由于文本框的初始状态为空,因此问题如下:
InitialValue="Enter Vendor Tracking Nbr"每MSDN
只有当关联的输入控件的值在失去焦点时匹配此InitialValue时,验证才会失败。
由于验证器的初始值不是空字符串,所以它将空字符串视为有效输入。要解决这些问题,您需要确定文本框的初始状态是什么,并相应地设置验证器。例如,现在您应该将InitialValue从标记中删除-它默认为String.Empty。
https://stackoverflow.com/questions/23015145
复制相似问题