Использование бритвенных аннотаций на страницах в модели страницы - PullRequest
0 голосов
/ 09 мая 2019

Я использовал аннотации данных очень хорошо, однако сейчас я пытаюсь указать их непосредственно в модели страницы. Обычно я создаю объектную модель и указываю там требования проверки, однако, поскольку это только одна строка, я не вижу смысла.

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>

К сожалению, форма отправляется просто отлично, когда пусто, без выдачи ошибки проверки.

1 Ответ

0 голосов
/ 13 мая 2019

Забыл добавить:

@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}

Иногда вам просто нужна вторая пара глаз:)

...