FluentValidation, Wenn & muss?

Ich versuche verwenden FluentValidation validaton, wenn dropdownlist Wert ist yes - und das Feld muss das Datum. es funktioniert, wenn dropdownlist ist yes Prüfung für date. Aber
auch zeigt die Validierung, wenn ich wählen Sie No noch sagt es Must be date.

Sollte es keine überprüfung mehr, ob dropdownlist-Wert otherthan die yes. Wie können wir das tun?

 RuleFor(x => x.DtPublishedTimeText)
            .NotEmpty()
            .When(HasMaterialPublishedElseWhereText)
            .WithMessage("Required Field")
            .Must(BeAValidDate)
            .WithMessage("Must be date");

private bool BeAValidDate(string val)
{
    DateTime date;
    return  DateTime.TryParse(val, out date);
}

private bool HasMaterialPublishedElseWhereText(MeetingAbstract model)
{
    return model.HasMaterialPublishedElseWhereText != null && 
             model.HasMaterialPublishedElseWhereText.Equals("yes");
}
InformationsquelleAutor James123 | 2014-06-03
Schreibe einen Kommentar