einfache benutzerdefinierte Validierung,MVC3 einfache benutzerdefinierte Validierung
mein Modell und benutzerdefinierte Validierung:
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?**
}
}
(Bitte beachten Sie die Inline-Kommentar oben)
Ansicht:
@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>
}
Was ist Ihr Controller, der das Modell aussehen empfängt? –
Ich habe Ihren Code in einem leeren MVC-Projekt und der Aufruf von IsValid versucht geschieht, wie es sollte. – Iridio
Würden Sie die Methode 'action' angeben, in der das Modell des Typs 'Registrierung' verwendet wird? Ich habe Ihren Code getestet, er funktioniert auf der Serverseite. Da Ihr 'AgeVAttribute' IClientValidatable nicht implementiert, ist die clientseitige Validierung deaktiviert. – Kibria