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
Libérer: 2025-01-08 17:43:10
original
704 Les gens l'ont consulté

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 » :

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("必须提供描述。");
    }
}
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal