2011-07-11 22 views
0

IEおよびChromeで動作します。 Googleでヘルプが見つかりません。基本的には、FileUploadコントロールで選択されたファイルの拡張子をチェックするだけです。ここで ASP.net - RegEx ValidatorコントロールがFireFoxで動作しない

はコードです:

 <asp:FileUpload ID="FileUpload1" runat="server" Width="450" /> 
     <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="Invalid file type." 
ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.pdf|.txt|.doc|.csv|.xls|.xlsx)$" 
ControlToValidate="FileUpload1" Display="Dynamic"> 
</asp:RegularExpressionValidator> 

答えて

4

ファイルパス内の他の文字は、したがって、ファイルアップローダーであり、代わりに

(.*\.(pdf|txt|doc|csv|xls|xlsx)$)

この正規表現を試してみて、あなたのRegularExpressionValidatorは

のように見えます
<asp:RegularExpressionValidator id="revImage" runat="server" 
    ErrorMessage="Please Upload the Valid document File" Text="*" Display="Dynamic" 
    ValidationExpression= 
     "(.*\.(pdf|txt|doc|csv|xls|xlsx)$)" 
    ControlToValidate="fileUploaderId"> </asp:RegularExpressionValidator> 
1

表現があまりにも制限的です。私はなぜそれがIEの&クロムで動作するのかわからないが、Firefoxではない。おそらく、Firefoxはファイル名のパスを取り除いていますか?

あなたのreg exは完全なWindowsファイルパスと一致させようとしていますので、MacやLinuxマシンを使用した場合、またはブラウザがそのパスをプリストリッピングした名。

あなたは、このように変更した場合:。

`(PDF | TXT |ドキュメント| CSV | xlsファイル|のxlsx)$」それだけで(承認された拡張子を持つ上、このただ若干の改善を終了名を保証するもの@waqas posted)

Simon

関連する問題