Maison >développement back-end >C++ >Comment implémenter la validation conditionnelle dans ASP.NET MVC à l'aide de IValidatableObject ?
Utilisation de IValidatableObject pour implémenter la validation conditionnelle dans ASP.NET MVC
La validation conditionnelle vous permet de spécifier des règles de validation basées sur des conditions spécifiques dans votre modèle. Dans ASP.NET MVC, les annotations de données constituent un moyen simple de définir ces règles, mais elles manquent de flexibilité pour des scénarios conditionnels plus complexes.
Considérez le modèle et la vue suivants dans lesquels nous souhaitons exiger conditionnellement la propriété « Senior.Description » en fonction de la sélection de la propriété « IsSenior » :
<code class="language-csharp">public class Person : IValidatableObject { [Required] public string Name { get; set; } public bool IsSenior { get; set; } public Senior Senior { get; set; } public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) { if (IsSenior && string.IsNullOrEmpty(Senior.Description)) yield return new ValidationResult("必须提供描述。"); } }</code>
Dans ASP.NET MVC 3 (et versions ultérieures), vous pouvez exploiter l'interface IValidatableObject et implémenter la méthode Validate pour gérer plus efficacement la validation conditionnelle. Dans la méthode Validate, vous pouvez spécifier des règles conditionnelles et renvoyer un objet ValidationResult en cas d'échec de validation.
En implémentant la méthode Validate comme indiqué dans l'extrait de code, nous ajoutons effectivement une règle de validation conditionnelle qui nécessite la propriété "Senior.Description" lorsque la propriété "IsSenior" est définie sur true. Cette approche offre un moyen plus propre et plus flexible d'implémenter la validation conditionnelle dans les applications ASP.NET MVC.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!