我有一个表格,我希望客人在其中输入他们的name
等address
...在每个字段上我都有一个RequiredFieldValidator
和一个RegularExpressionValidator
。
例如:
<asp:TextBox ID="mailNameTextBox" runat="server" MaxLength="70" ValidationGroup="mail"></asp:TextBox>
<asp:RegularExpressionValidator ID="mailNameTextBox_RegularExpressionValidator" runat="server" ErrorMessage="Name can only have letters or spaces." ControlToValidate="mailNameTextBox" ValidationExpression="[a-zA-Z' ']" ValidationGroup="mail" Display="Dynamic">*</asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="mailNameTextBox_RequiredFieldValidator" runat="server" ErrorMessage="Name field is required." ControlToValidate="mailNameTextBox" ValidationGroup="mail" Display="Dynamic">*</asp:RequiredFieldValidator>
当我输入一个包含数字的名称(即未通过正则表达式)并且"tab"
不在 中时TextBox
,RegexValidator
立即显示为 *,并且表单无法提交。但是当我回去删除数字(即通过Regex
)时,Validator
似乎没有重新检查输入,并且表单将永远无法提交。
有没有办法在离开框时始终触发验证,而不仅仅是第一次(除了在 TextBox 失去焦点时调用验证方法)。我会认为这将是自动的?
我花了一些时间试图找到这个问题的答案,但我不确定如何将我的问题表述为“彻底研究它”,所以如果这是重复的,我很抱歉。
我确实看到了这个: ASP.NET:RegularExpressionValidator 不重新检查输入 ,但对我来说并没有真正的帮助。