Je n'ai jamais entendu parler de FluentValidation jusqu'à aujourd'hui alors que je travaillais sur un projet, j'ai donc rencontré un problème. J'ai ce ..Comment appliquer la validation à un champ si un autre champ est vide avec FluentValidation?
RuleFor(x=>x.Company)
.NotEmpty()
.WithMessage("Company Required");
RuleFor(x => x.FirstName)
.NotEmpty()
.WithMessage(FirstName Required");
RuleFor(x => x.LastName)
.NotEmpty()
.WithMessage("LastName Required");
et un tas d'autres RuleFor statements.What que je dois faire est ..
Si le champ est vide, la société nécessite une validation pour FirstName et LastName, mais si le champ Société est pas vide alors ne pas appliquer la validation à Prénom et Nom
Je n'ai aucune idée par où commencer.
EDIT
J'ai essayé le when et est venu avec cette
When(x => x.Company == "" || x.Company == null,() =>
{
RuleFor(x => x.FirstName)
.NotEmpty()
.WithMessage("FirstName Required");
RuleFor(x => x.LastName)
.NotEmpty()
.WithMessage("LastName Required");
});
et je « pense » qui aurait dû déclencher la validation pour FirstName et LastName, mais il n'a pas .
Alors j'ai essayé cette façon
When(x.Company.length == 0,() =>
{
RuleFor(x => x.FirstName)
.NotEmpty()
.WithMessage("FirstName Required");
RuleFor(x => x.LastName)
.NotEmpty()
.WithMessage("LastName Required");
});
et la même chose est arrivé, la validation et LastName FirstName n'a pas eu lieu.
[Spécifier une condition avec Quand/À moins] (https://github.com/JeremySkinner/FluentValidation/wiki/d.-Configuring-a-Validator#user-content-specifying-a-condition-with -whenun) – jmoerdyk
@jmoerdyk, je regarde cela maintenant – Chris
ma confusion est la pose dans le quand parce que les exemples montrent comment cela fonctionnerait avec un bool et pas une chaîne – Chris