2011-06-22 113 views
0

我有一个TextBox的页面输入手机号码。 对于我已经采用的RequiredFieldValidator和的RegularExpressionValidator 与显示=无验证它:验证摘要控件不显示消息?

同时,我已放置ValidationSummary控件

<asp:ValidationSummary ValidationGroup="mobile" ShowSummary="false" ID="vsValid" 
    runat="server" ShowMessageBox="true" Enabled="true" 
    DisplayMode="SingleParagraph" /> 
<asp:TextBox ID="txtMobileNumber" runat="server" CssClass="Qinputbox"></asp:TextBox> 
<asp:RequiredFieldValidator Display="None" ControlToValidate="txtMobileNumber" 
    ID="reqValidMobileNo" runat="server" ErrorMessage="*" 
    ValidationGroup="mobile"></asp:RequiredFieldValidator> 
<asp:RegularExpressionValidator ControlToValidate="txtMobileNumber" Display="None" 
    ID="regExValidMobileNo" runat="server" 
    ErrorMessage="Please enter a valid mobile number." 
    ValidationExpression="^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9] 
     (\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$" 
    ValidationGroup="mobile"></asp:RegularExpressionValidator> 

当我在TextBox输入的字符它没有显示摘要。 可能是什么问题?

在此先感谢

回答

1

从你的代码片段: ShowSummary="false"看起来像一个问题。

+0

嗨NetRat,我想显示消息文本更改事件,但不是在任何回发。我发现validationsummary控制将显示消息后,才回发它是正确的。我在链接http://www.devmanuals.com/tutorials/ms/aspdotnet/validationsummary.html –

+0

请参阅示例,请检查Tim的答案。你想验证W/O回发,那么你应该设置'EnableClientScript =“true”' – NetRat

1

您应该设置ShowSummary="false"trueEnableClientScript="true"。我假设你想要后者,因为你有ShowMessageBox="true"

看一看:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.validationsummary.enableclientscript%28v=vs.71%29.aspx

使用这个属性来指定自己是否 ValidationSummary控件更新 使用客户端脚本。当 设置为true时,如果 浏览器支持该功能,则客户端脚本将在客户端上呈现 以更新 ValidationSummary控件。当 设置为false时,客户端上没有显示客户端脚本 ,并且 ValidationSummary控件在到服务器的往返过程中仅更新 本身。 在这种情况下,ShowMessageBox 属性不起作用。

0

确保你没有这个web.config文件:

< xhtmlConformance模式= “遗产”/ >

0

在web.config中设置:

<httpRuntime targetFramework="4.5"/> 

此设置关闭验证的JavaScript注入(客户端)。 删除它并重试。