MVC 3 图像字段验证
本文关键字:验证 字段 图像 MVC | 更新日期: 2023-09-27 18:30:42
我有一个表格,我上传了两张图片。我想对这些图像进行验证,例如图像大小,我希望能够检查图像字段是否未留空。
public ActionResult Create(NewsViewModel newsViewModel, IEnumerable<HttpPostedFileBase> files)
{
try
{
//more code here
var originalFile = string.Empty;
IList<string> images = new List<string>(2);
foreach (var file in files)
{
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
if (fileName != null) originalFile = Path.Combine(Server.MapPath(upload_path), DateTime.Now.Ticks+"_ "+ fileName);
file.SaveAs(originalFile);
images.Add(originalFile);
}
}
if (images.Count == 2)
{
newsViewModel.News.Thumbnail = images[0] ?? "";
newsViewModel.News.Image = images[1] ?? "";
}
//more code here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
在检查图像大小并发现它们无效后,如何将响应发送回表单?
或者,如果 images.count 不是 2,我该如何验证?
有什么想法吗?
您可以向 ModelState 添加一个错误,然后重新显示相同的视图,如下所示:
ModelState.AddModelError(string.Empty, "The image is not valid becuase...");
return View(newsViewModel)
然后在视图中,如果您有 ValidationSummary 您的验证错误消息将显示在其上(第一个参数是与控件 ID 匹配的"键",通常显示旁边的消息,这就是为什么它在这里是 String.empty,但也许你有一个控件希望它与之关联)。