我正在使用来自http://dataannotationsextensions.org/的 DataAnnotationsExtensions
这里有一个例子http://weblogs.asp.net/srkirkland/archive/2011/02/23/introducing-data-annotations-extensions.aspx
控制器代码
public ActionResult Create(Dog dog, HttpPostedFileBase Picture)
{
Regex rgx = new Regex(@"^.*\.(jpg|gif|jpeg|png)$");
Match m = rgx.Match(Picture.FileName);
if (rgx.IsMatch(Picture.FileName))
{
if (ModelState.IsValid)
{
型号代码
[FileExtensions("png|jpg|jpeg|gif", ErrorMessage = "Only jpg jpeg gif or png files allowed")]
public string Picture { get; set; }
和剃须刀代码
@Html.TextBoxFor(model => model.Picture, new { type = "file" })
@Html.ValidationMessageFor(model => model.Picture)
我所做的一切都失败了
if (ModelState.IsValid)
如果我删除 FileExtensions Annotation 它可以正常工作,但是我不再能够阻止我不想要的文件类型。
我已经检查了位于此处的数据注释扩展的代码 https://github.com/srkirkland/DataAnnotationsExtensions/blob/master/DataAnnotationsExtensions/FileExtensionsAttribute.cs
而且我似乎仍然无法找出问题所在。