Validation cho control File Upload được dùng để lọc một số định dạng file, chỉ cho phép user được upload một số file trên server mà thôi. Nhiều khi làm về vấn đề bảo mật cho nên chúng ta chỉ có thể cho phép upload những định dạng nhất định mà thôi. Nhưng làm sao để có thể làm được việc đó trong Asp. Hãy theo dõi bài viết sau để hiểu rõ hơn một cách làm rất đơn giản mà tôi muốn chia sẻ với các bạn.
Code
Trước hết, để sử dụng cái Validation này một cách nhanh nhất, chúng ta thường sử dụng cái Regular Expression để validate. Chúng ta sử dụng cấu trúc định dạng sau:
ValidationExpression=/^(([a-zA-Z]:)|(\\{2}\w+)\$?)(<a href="file://\\(\w[\w">\\(\w[\w</a>].*))+ (.avi|.AVI|.WMV|.wmv|.wav|.WAV|.mpg|.MPG|.mid|.MID|.asf|.ASF|.mpeg|.MPEG)$/
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <table align="center"> <tr> <td> <b>Validation to File Upload Control</b> <br /> <asp:FileUpload ID="fileUploadVideo" runat="server" /> <asp:Label ID="labelVideomsg" runat="server" ForeColor="Red" Visible="false" Style="margin-left: -38px;"></asp:Label> <asp:RegularExpressionValidator ID="RegularExpressionValidator7" runat="server" ControlToValidate="fileUploadVideo" ErrorMessage="Only .avi, .mpg, .wav, .mid, .wmv, .asf and .mpeg Video formats are allowed."ForeColor="Red" ValidationExpression="/^(([a-zA-Z]:)|(\\{2}\w+)\$?) (\\(\w[\w].*))+(.avi|.AVI|.WMV|.wmv|.wav|.WAV|.mpg|.MPG|.mid| .MID|.asf|.ASF|.mpeg|.MPEG)$/" ValidationGroup="PartnerProfileUpdate" SetFocusOnError="true"></asp:RegularExpressionValidator> <br /> <asp:Button ID="Button1" runat="server" Text="Save" OnClick="Button1_Click" /> </td> </tr> </table> </div> </form> </body> </html>
Vậy là xong rồi đó, bạn chỉ việc thay đổi cái Validation Expression theo ý bạn muốn là được.
Một số ví dụ expression
Media format
Các bạn sử dụng định dạng sau
ValidationExpression=/^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.mp3|.MP3|.mpeg|.MPEG|.m3u|.M3U)$/
Document format
Các bạn sử dụng định dạng sau
ValidationExpression=/^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.doc|.docx|.DOC|.DOCX|.txt|.TXT)$/