MVC и Fluid Validation с использованием Когда - PullRequest
0 голосов
/ 08 ноября 2018

вот что у меня есть ..

public class PersonalDetailValidator : AbstractValidator<PersonalDetail>
{
    public PersonalDetailValidator()
    {
        RuleFor(x => x.LastName).NotNull().WithMessage("Person's Last Name is required");
        RuleFor(x => x.FirstName).NotEmpty().When(x => string.IsNullOrWhiteSpace(x.LastName) == false).WithMessage("Person's First Name is required");
    }
}

[Validator(typeof(PersonalDetailValidator))]
public class PersonalDetail
{

    [Display(Name = "First Name")]
    public string FirstName { get; set; }

    [Display(Name = "Last Name")]
    public string LastName { get; set; }
}

Проблема в том, что первое правило против Фамилии работает на стороне клиента, но после ввода чего-либо в фамилию правило против имени не срабатывает.

Может кто-нибудь помочь?

Ответы [ 2 ]

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

Свободная проверка поддерживает проверки на стороне сервера. Вы можете использовать несколько проверок на стороне клиента (как требуется).

Если вы хотите использовать проверки на стороне сервера на стороне клиента, вам нужна другая библиотека для этого. Вы можете использовать все проверки на стороне сервера на стороне клиента. Проверьте форму Помощник библиотеки на GitHub. Это может помочь вам перенести проверки на стороне сервера на сторону клиента.

0 голосов
/ 08 ноября 2018

FluentValidation будет работать с проверкой на стороне клиента ASP.NET MVC, но не все правила поддерживаются. Например, любые правила, определенные с использованием условия (с When/Unless), пользовательских валидаторов или вызовов Must, не будут выполняться на стороне клиента.

Подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...