Я реализую проверку формы, моя модель выглядит следующим образом:
public class Profile
{
[Required]
public string Firstname { get; set; }
}
мой взгляд выглядит так:
<form asp-action="SaveProfile" asp-controller="User" asp- profile="@Model" asp-file="file" enctype="multipart/form-data" method="POST">
<label asp-for="Firstname">Firstname</label>
<input class="form-control" id="firstname" asp-for="Firstname" placeholder="Firstname">
<span asp-validation-for="Firstname"></span>
<input class="form-control" type="submit" value="Save">
</form>
Мой контроллер:
public async Task<IActionResult> Index(Profile profile)
{
return View(await _userRepository.ReadProfile(User.Identity.Name));
}
и ReadProfile()
:
public async Task<Profile> ReadProfile(string user)
{
var profile = await _context.User
.Where(u => u.Email == user)
.Include(s => s.Schedule)
.Include(s => s.Skills)
.FirstOrDefaultAsync() ?? await CreateProfile(user);
var schedule = profile.Schedule.OrderBy(sd => sd.StartDate).ToList();
profile.Schedule = schedule;
return profile;
}
Когда я загружаю представление, я вижу Firstname is required
, даже если поле содержит данные о представлении
Есть идеи?