Maison >développement back-end >C++ >Comment implémenter la validation conditionnelle dans ASP.NET MVC à l'aide de IValidatableObject ?

Comment implémenter la validation conditionnelle dans ASP.NET MVC à l'aide de IValidatableObject ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-08 17:43:10703parcourir

How to Implement Conditional Validation in ASP.NET MVC Using 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn