Étant donné que j'ai un modèle employé avec un annulable GenderIDASP.NET Web API 2.2 Modèle court-circuit de liaison validation du modèle personnalisé
public class Employee
{
public int? GenderID { get; set; }
}
Et une règle personnalisée Fluent validation sur GenderID en utilisant FluenValidation
RuleFor(x=> x.GenderID).NotNull().WithMessage("Please provide a valid Gender");
Lorsque je POST
un employé à l'extrémité suivante avec un NULL
GenderID
Puis le service renvoie une validation résumé comme prévu.
[HttpPost("Employee/Create")]
public IActionResult Create([FromBody]Employee employee)
{
try
{
if (!ModelState.IsValid)
{
// return validation summary (code omitted for brevity)
}
var result = _respository.CreateEmployee(employee);
return Ok();
}
}
Si je change le modèle de l'employé d'avoir non annulable GenderID
public class Employee
{
public int GenderID { get; set; }
}
retourne ensuite le service 400 Bad réponse à la demande sans traitement validation personnalisée. Le résumé de validation est requis pour lier à l'interface utilisateur. La seule raison d'avoir GenderID comme nullable est de permettre de créer un résumé de validation à partir de validateurs personnalisés. Comment puis-je appliquer une validation personnalisée sans avoir besoin de définir toutes les propriétés de mon modèle comme étant nulles?
Oui J'ai déjà expliqué la raison mais j'essaye de trouver un modèle de programmation dans WebAPI qui me permette de créer des commandes plus représentatives aux valeurs acceptables. La documentation générée qui accompagnera mon API sera trompeuse lorsque je mentionnerai que GenderId peut être nul. – puri