Je suis curieux de savoir comment définir dynamiquement les attributs de validation d'un modèle. Par exemple, j'ai souvent des vues où certains champs devraient être requis lorsqu'un utilisateur occupe un certain rôle, mais pas requis lorsqu'un utilisateur occupe un autre rôle. Je souhaite que la validation côté serveur et côté client soit définie en conséquence.Définir dynamiquement les champs obligatoires
2
A
Répondre
4
Quelque chose comme ça ne fonctionnerait pas pour vous du côté serveur?
public class RequiredForRoleAttribute : ValidationAttribute
{
public string Role { get; set; }
public override bool IsValid(object value)
{
return !Roles.IsUserInRole(Role) || (value != null && !string.IsNullOrEmpty((string)value));
}
}
Et un exemple d'utilisation sera;
[RequiredForRoleAttribute(Role = "Admins", ErrorMessage = "Phone number is required for members of the admin role.")]
public string PhoneNumber { get; set; }
Maintenant pour le côté client des choses,
Votre devoir enregistrer pour la validation à distance comme décrit à l'adresse suivante; http://forums.asp.net/t/1559594.aspx/1
espère que vous l'obtenez,
Chris