PDA

View Full Version : آموزش: عدم کارکرد RegularExpressionValidator در FileUpload



MasoudAdmin
شنبه 21 مرداد 1402, 21:06 عصر
با سلام
من یک FileUpload در فرمم دارم. و یک RegularExpressionValidator هم گذاشتم که مثلا فایل pdf و word فقط موقعی که روی فایل آپلود کلیک می کنم فقط فایل های با فرمت pdf و word قابل انتخاب باشد.


<div class="mb-3"> <label for="formFile" class="form-label">انتخاب فایل</label> <asp:FileUpload ID="FileUpload1" multiple="false" runat="server" Width="1024px" /> <br /> <asp:RequiredFieldValidator ID="RequiredFieldValidatorFile" runat="server" ErrorMessage="لطفا فایل مورد نظر را انتخاب نمایید" ControlToValidate="FileUpload1" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidatorFile" runat="server" ErrorMessage="" ControlToValidate="FileUpload1" Display="Dynamic" ForeColor="Red" ></asp:RegularExpressionValidator> </div>

اینم کدی که نوشتم



this.RegularExpressionValidatorFile.ValidationExpr ession = "^.+(.doc|.docx|.DOC|.DOCX|.pdf|.PDF)$";


ولی وقتی روی FileUpload کلیک می کنم باز AllFile رو نمایش میده.

154861

ممنون میشم راهنمایی کنید چجوری رفعش کنم؟

mazoolagh
دوشنبه 23 مرداد 1402, 10:20 صبح
سلام و روز خوش

1- اون validator ارتباطی به file dialog که مرورگر باز میکنه نداره و فکر نمیکنم شما کنترلی رو فیلترهای انتخاب فایل داشته باشین.
validator فقط یک چک سمت کلاینت انجام میده و نباید به همین اکتفا کنین.
باید سمت سرور هم جداگانه چک کنین: پسوند، اندازه، content و ...

2- شاید کمپوننتی پیدا کنین که قابلیت فیلتر فایل دیالوگ داشته باشه،
ولی به احتمال زیاد اون هم نیاز به یک قابلیت اضافه از پیش نصب شده روی سیستم کاربر داشته باشه.
یعنی روی همه سیستم ها به این روش کار نکنه.
این ها رو باید خودتون تحقیق کنین چون بر پایه حدس و گمان میگم.

3- این که تگ آموزش روی پرسش ها میگذارین گمراه کننده است!
این تگ رو زمانی باید استفاده کنین که خودتون دارین یک مطلبی رو آموزش میدین.

ROSTAM2
دوشنبه 23 مرداد 1402, 11:32 صبح
با سلام
من یک FileUpload در فرمم دارم. و یک RegularExpressionValidator هم گذاشتم که مثلا فایل pdf و word فقط موقعی که روی فایل آپلود کلیک می کنم فقط فایل های با فرمت pdf و word قابل انتخاب باشد.


<div class="mb-3"> <label for="formFile" class="form-label">انتخاب فایل</label> <asp:FileUpload ID="FileUpload1" multiple="false" runat="server" Width="1024px" /> <br /> <asp:RequiredFieldValidator ID="RequiredFieldValidatorFile" runat="server" ErrorMessage="لطفا فایل مورد نظر را انتخاب نمایید" ControlToValidate="FileUpload1" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidatorFile" runat="server" ErrorMessage="" ControlToValidate="FileUpload1" Display="Dynamic" ForeColor="Red" ></asp:RegularExpressionValidator> </div>

اینم کدی که نوشتم



this.RegularExpressionValidatorFile.ValidationExpr ession = "^.+(.doc|.docx|.DOC|.DOCX|.pdf|.PDF)$";


ولی وقتی روی FileUpload کلیک می کنم باز AllFile رو نمایش میده.

154861

ممنون میشم راهنمایی کنید چجوری رفعش کنم؟
c# - filter the file type with the file upload control - Stack Overflow (https://stackoverflow.com/questions/2506821/filter-the-file-type-with-the-file-upload-control)