próbuję ot przesłonić RequiresAttribute w rdzeniu .net i nie wydają się działać na rdzeniu ASP.NET 1.1Zastąp istniejący adnotacji danych atrybutów w rdzeniu ASP.NET 1.1
Oto kod test
public class CustomRequiredAttribute : RequiredAttribute
{
public CustomRequiredAttribute():base()
{
}
public override string FormatErrorMessage(string name)
{
return base.FormatErrorMessage(name);
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
return base.IsValid(value, validationContext);
}
}
gdy używany w moim modelu spodziewam normalny wynik jak „pole jest wymagane”, bo nie dostosował go jeszcze i po prostu wywołanie metody bazowych.
nie wydają się działać zgodnie z oczekiwaniami i po prostu omija wymagane po stronie klienta i serwera:
Ma to na celu dodanie komunikatu sprawdzania poprawności wyciągniętego z db do właściwości ErrorMessage.
Wszelkie sugestie będą mile widziane.
Nie zastępujesz go, tworzysz klasę pochodną. Czy możesz pokazać, jak go używasz? – Klinger
Pochodzę i jeśli to zadziała zastąpi niektóre metody, używam go jako standard w modelu tj. [CustomRequired] public string Name {get; set;} Miałem nadzieję, że w zamierzeniu wywoła on błąd, ale breakpoint nigdy nie trafi. – AliK
Sprawdź, czy to SO pomaga: http://stackoverflow.com/questions/12573362/extending-the-mvc-requiredattribute – Klinger