de validation personnalisé simple,MVC3 simple, validation personnalisée
ma validation du modèle et personnalisé:
public class Registration
{
[Required(ErrorMessage = "Date of Birth is required")]
[AgeV(18,ErrorMessage="You are not old enough to register")]
public DateTime DateOfBirth { set; get; }
}
public class AgeVAttribute : ValidationAttribute
{
private int _maxAge;
public AgeVAttribute(int maxAge)
{
_maxAge = maxAge;
}
public override bool IsValid(object value)
{
return false; <--- **this never gets executed.... what am I missing?**
}
}
(S'il vous plaît voir le commentaire en ligne ci-dessus)
Vue:
@using (Html.BeginForm()) {
@Html.ValidationSummary("Errors")
<fieldset>
<legend>Registration</legend>
<div class="editor-label">
@Html.LabelFor(model => model.DateOfBirth)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.DateOfBirth)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
À quoi ressemble votre contrôleur qui reçoit le modèle? –
J'ai essayé votre code dans un projet MVC vide et l'appel à IsValid se déroule comme il se doit. – Iridio
Souhaitez-vous fournir la méthode 'action' où le modèle de type 'Registration' est utilisé? J'ai testé votre code, il fonctionne du côté serveur. Comme votre 'AgeVAttribute' n'implémente pas IClientValidatable, la validation côté client est désactivée. – Kibria