2010-09-17 34 views
0

是代碼,當我選擇了錯誤的文件類型我得到即時的紅色「*」,但我沒有看到驗證摘要,有一個布頓(「上傳」),當我點擊它比我得到驗證摘要錯誤消息。的ValidationSummary不顯示 - 用的RegularExpressionValidator下面

我的問題是:爲什麼當我選擇錯誤的文件類型時不顯示驗證摘要?

<asp:ValidationSummary ForeColor="DarkRed" 
ID="ValidationSummary1" runat="server" ShowMessageBox="False" 
HeaderText="To save this page, the following required fields must be completed:" ShowSummary="true" /> 

    <asp:RegularExpressionValidator ID="RegularExpressionValidator2" EnableClientScript="true" runat="server" ControlToValidate="fUpload" 
ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.rtf|.RTF|.Rtf|.xls|.XLS|.Xls)$" Text="*" 
ErrorMessage="Invalid file type" SetFocusOnError="true" Display="Dynamic">/></asp:RegularExpressionValidator> 

回答

2

當您嘗試提交表單顯示在ValidationSummary(點擊提交按鈕),而不是與您在填寫表單域之後。

如果您的驗證器上有Display="Dynamic",就像您一樣,您將立即得到的唯一信息就是驗證器的Text屬性中的消息。因此,如果您想立即收到錯誤消息,則必須將Text="*"更改爲Text="Invalid file type"

4

由於您的RegularExpressionValidator具有EnableClientScript="true",它將導致控件的客戶端驗證。

即使ValidationSummary控件也可能設置爲EnableClientScript="true",它必須使用自己的組驗證所有控件,因此不會以相同的方式顯示錯誤消息。這是設計的,所以只有在表格提交後才能使用。

從顯示即刻停止「*」,你可以控制設置爲Display="None"或改變EnableClientScript="false"

相關問題