ASP.net - элемент управления RegEx Validator не работает в FireFox - PullRequest
0 голосов
/ 11 июля 2011

Работает в IE и Chrome. Не могу найти никакой помощи в Google. По сути, это просто проверка расширения файла, выбранного в элементе управления FileUpload.

Вот код:

        <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>

Ответы [ 2 ]

4 голосов
/ 11 июля 2011

В пути к файлу в загрузчике файлов есть другие символы, поэтому попробуйте вместо этого регулярное выражение

(.*\.(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 голос
/ 11 июля 2011

Регулярное выражение слишком ограничительное.Я не уверен, почему это работает в IE & Chrome, но не в Firefox.Возможно, Firefox извлекает путь к имени файла?

Ваш reg ex пытается найти полный путь к файлу Windows, поэтому произойдет сбой, если имя не будет таким, например, если вы используете Mac илиМашина Linux или браузер предварительно удалили путь из имени.

, если вы измените его на следующее:

`. (Pdf | txt | doc | csv | xls | xlsx) $ 'это только гарантирует, что имена заканчиваются утвержденным расширением (это всего лишь небольшое улучшение того, что опубликовал @waqas)

Simon

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...