0

我的设置:

在我的 ASP.NET 项目中,我有一个 RadAjaxPanel,在该面板中是一个 RadMaskedTextBox 和 ASP RegexValidator 绑定到一个 RadButton 以进行提交。

相关代码如下:

    <telerik:RadMaskedTextBox runat="server" ID="radTxtSSN" RenderMode="Lightweight" Mask="###-##-####"></telerik:RadMaskedTextBox>
    <asp:RegularExpressionValidator runat="server" ControlToValidate="radTxtSSN" ErrorMessage="Invalid SSN format" ForeColor="Red" ValidationExpression="\d{3}-\d{2}-\d{4}"></asp:RegularExpressionValidator>

在第一次提交或导致 postback-translated-to-ajax 事件发生的操作时,一切正常。换句话说,字段提交,radTxtSSN 验证为空,我可以忽略空 SSN 字段。我什至可以集中该框然后将其留空,或者将其填充并删除它而不会仅在第一次提交时造成问题。

但是,当这完成时,所有操作都可能导致更新或回发或 ajax 调用在 SSN 字段上的正则表达式验证失败之后停止。
错误消息甚至显示“无效的 SSN 格式”,即使它是空的。

到目前为止,我在这个主题上发现的唯一东西。
Telerik 支持人员声称这个问题已经修复,并且在某种程度上他们是正确的,但他们在修复它时忽略了边缘和角落的情况。

什么可以解决这个问题?我没有任何充分的理由添加大量的后台代码或自定义验证器逻辑,因为这是唯一使用的区域或问题。

4

0 回答 0