Scénario : L'utilisateur doit remplir un formulaire et en fonction de ses choix, différentes propriétés sont affichées (en utilisant jquery .show et .hide). Problème : Je veux que certaines de ces propriétés affichées soient obligatoires (mais seulement lorsqu'elles sont affichées). L'attribut [Required] ne se soucie pas de savoir si la propriété est affichée ou non. Donc, si j'utilise [Required], l'utilisateur doit remplir des propriétés qu'il ne peut pas voir. Solution : ?
Réponse
Trop de publicités?Vous pourriez utiliser le Attribut RequiredIf pour effectuer une validation conditionnelle :
[RequiredIf("HiddenFoo", "true", ErrorMessage = "Foo is required")]
public string Foo { get; set; }
public string HiddenFoo { get; set; }
Maintenant, ajoutez un champ caché appelé HiddenFoo
puis de basculer sa valeur lorsque vous affichez/masquez l'écran de l'utilisateur. Foo
boîte de texte. Foo
ne sera nécessaire que si HiddenFoo="true"
.