Как применить проверку на стороне клиента с помощью Fluent Validation для. Net core - PullRequest
0 голосов
/ 10 апреля 2020

. Net Core 3.0 MVC view. Необходимо применить - проверка на стороне клиента для модели ниже.

Пробовал следующим образом:

Модель: Персона

public class Person {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Email { get; set; }
        public int Age { get; set; }
    }

Правила проверки:

public class PersonValidator : AbstractValidator<Person> {
    public PersonValidator() {
        RuleFor(x => x.Id).NotNull().NotEmpty();
        RuleFor(x => x.Name).Length(0, 10);
        RuleFor(x => x.Email).EmailAddress();
        RuleFor(x => x.Age).InclusiveBetween(18, 60);
    }
}

В соответствии с документацией, она показывает атрибут «валидатор» но я не смог найти в пространстве имен.

https://docs.fluentvalidation.net/en/latest/mvc5.html

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

Вам нужно добавить .AddFluentValidation () после .Add Mvc () (или .AddControllersWithViews ()), чтобы включить Fluent Validation.

Fluent Validation поддерживает некоторые базовые c проверки на стороне клиента, такие как требуется, maxlength et c. Если вы хотите использовать все проверки на стороне сервера на стороне клиента, вам необходимо использовать сторонние библиотеки, такие как FormHelper.

Помощник по формам помогает создавать ajax форм и проверок без написания кода javascript , Он преобразует проверки на стороне сервера в сторону клиента. Очень полезно просто добавить .AddFormHelper () и .UseFormHelper () в Startup.cs.

FormHelper: https://nuget.org/packages/FormHelper

Документ: https://github.com/sinanbozkus/formhelper

0 голосов
/ 11 апреля 2020

Был в состоянии понять это.

это нужно добавить в поле, Файл запуска, .AddMvc().AddFluentValidation()

Таким образом, он автоматически может выбрать проверку на стороне клиента, а также серверная сторона. Спасибо.

...