Comment obtenez-vous la validation côté client sur deux propriétés telles que le scénario classique mot de passe de mot de passe de confirmation.Annotations de données Asp.Net MVC. Comment faire pour obtenir la validation côté client sur 2 propriétés étant égal
J'utilise une classe de métadonnées basée sur le mappage EF sur ma table DB, voici le code.
Les attributs commentés sur ma classe m'obtiendront la validation côté serveur mais pas le côté client.
[MetadataType(typeof(MemberMD))]
public partial class Member
{
//[CustomValidation(typeof(MemberMD), "Verify", ErrorMessage = "The password and confirmation password did not match.")]
//[PropertiesMustMatch("Password", "ConfirmPassword", ErrorMessage = "The password and confirmation password did not match.")]
public class MemberMD
{
[Required(ErrorMessage = "Name is required.")]
[StringLength(50, ErrorMessage = "No more than 50 characters")]
public object Name { get; set; }
[Required(ErrorMessage = "Email is required.")]
[StringLength(50, ErrorMessage = "No more than 50 characters.")]
[RegularExpression(".+\\@.+\\..+", ErrorMessage = "Valid email required e.g. [email protected]")]
public object Email { get; set; }
[Required(ErrorMessage = "Password is required.")]
[StringLength(30, ErrorMessage = "No more than 30 characters.")]
[RegularExpression("[\\S]{6,}", ErrorMessage = "Must be at least 6 characters.")]
public object Password { get; set; }
[Required]
public object ConfirmPassword { get; set; }
[Range(0, 150), Required]
public object Age { get; set; }
[Required(ErrorMessage = "Postcode is required.")]
[RegularExpression(@"^[a-zA-Z0-9 ]{1,10}$", ErrorMessage = "Postcode must be alphanumeric and no more than 10 characters in length")]
public object Postcode { get; set; }
[DisplayName("Security Question")]
[Required]
public object SecurityQuestion { get; set; }
[DisplayName("Security Answer")]
[Required]
[StringLength(50, ErrorMessage = "No more than 50 characters.")]
public object SecurityAnswer { get; set; }
public static ValidationResult Verify(MemberMD t)
{
if (t.Password == t.ConfirmPassword)
return ValidationResult.Success;
else
return new ValidationResult("");
}
}
Toute aide serait grandement appréciée, comme je l'ai fait seulement 5 mois s'il vous plaît essayer de ne pas me faire perdre la tête.