Поле изображения является обязательным
даже если я выбрал файл изображения для загрузки.
Вот соответствующие подробности:
Действие контроллера (
Код: Выделить всё
POSTКод: Выделить всё
[HttpPost]
public async Task Create(Products product, IFormFile image)
{
if (ModelState.IsValid)
{
if (image != null)
{
var name = Path.Combine(_he.WebRootPath + "/images", Path.GetFileName(image.FileName));
await image.CopyToAsync(new FileStream(name, FileMode.Create));
product.Image = "images/" + image.FileName;
}
_db.Products.Add(product);
await _db.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(product);
}
Код: Выделить всё
Add New Product
// ... Other field
// ... Other field
Back to List
@section Scripts {
@{
await Html.RenderPartialAsync("_ValidationScriptsPartial.cshtml");
}
}
Код: Выделить всё
ProductsКод: Выделить всё
public class Products
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public decimal Price { get; set; }
public string Image { get; set; }
[Display(Name = "Product Color")]
public string ProductColor { get; set; }
[Required]
[Display(Name = "Available")]
public bool IsAvailable { get; set; }
[Display(Name = "Product Type")]
[Required]
public int ProductTypeId { get; set; }
[ForeignKey("ProductTypeId")]
public ProductTypes ProductTypes { get; set; }
[Display(Name = "Special Tag")]
[Required]
public int SpecialTagId { get; set; }
[ForeignKey("SpecialTagId")]
public SpecialTag SpecialTag { get; set; }
}
Я подтвердил:
- Файл выбирается в поле ввода перед отправкой.
- Другие обязательные поля заполняются правильно.
- Действие контроллера выполняется, когда форма отправлена.
Подробнее здесь: https://stackoverflow.com/questions/788 ... ired-error
Мобильная версия