Я использовал аннотации данных очень хорошо, однако сейчас я пытаюсь указать их непосредственно в модели страницы. Обычно я создаю объектную модель и указываю там требования проверки, однако, поскольку это только одна строка, я не вижу смысла.
In card.cshtml.cs
public class CardModel : PageModel
{
[BindProperty, StringLength(200, MinimumLength=5, ErrorMessage = "Please enter a note")]
public String Note { get; set; }
public async Task<IActionResult> OnPostNoteAsync(int? id)
{
//Do stuff
return RedirectToPage(new { ID });
}
В card.cshtml:
<div class="justify-content-center">
<form asp-page-handler="note" method="post">
<input type="hidden" name="id" value=@Model.Card.Id />
<div class="form-group">
<label asp-for="Note" class="control-label">
<i class="fas fa-1x fa-comment-dots pr-2"></i>
New Note
</label>
<textarea asp-for="Note" class="form-control" rows="3"></textarea>
<span asp-validation-for="Note" class="text-danger"></span>
</div>
<div class="form-group" id="card-form" style="text-align: right">
<button type="submit" class="btn btn-ver-blue">
<span class="text">Add Note</span>
</button>
</div>
</form>
</div>
К сожалению, форма отправляется просто отлично, когда пусто, без выдачи ошибки проверки.