Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

file input MVC 3 Client-side validation for required

Simple question... Is it possible to use client side MVC 3 validation on inputs of type file?

To explain: MVC 3 uses its model validation with IClientValidatable and unobtrusive javascript to allow you to write validation on the server side and have it render the client side using jquery validate using Microsoft's plugins. To make a property required you add the attribute below

[Required]
public HttpPostedFileBase CvFile {get; set;}

As long as client side val and unobtrusive javascript is on in the config this should all fire on the client.

However HttpPostedFileBase (i.e. <input type="file" name="Model.CvFile" />) will not run required on the client side.

Any ideas how this can be achieved keeping the relationship with the server side validation

like image 427
Jay Avatar asked Apr 12 '11 09:04

Jay


1 Answers

You need to add it manually:

<input type="file" data-val="true" data-val-required="please select a file" name="file" />
@Html.ValidationMessage("file")
like image 106
VahidN Avatar answered Sep 28 '22 06:09

VahidN