ja nie znalazłem czyste sposobem osiągnięcia tego celu przy użyciu danych adnotacje. Jednym ze sposobów byłoby napisanie niestandardowego spoiwa modelu, ale wydaje się, że jest to dużo pracy do wykonania tak prostego zadania.
Innym sposobem na to jest dodanie folderu App_GlobalResources
do aplikacji ASP.NET. Dodaj plik zasobów o nazwie Messages.resx
zawierający zasób ciągów .
PropertyValueRequired = "Some custom error message"
W swojej Application_Start
zarejestrować klucz klasy zasobów:
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
DefaultModelBinder.ResourceClassKey = "Messages";
}
Zauważ, że ASP.NET MVC 2 wykorzystuje klucz Resource PropertyValueInvalid
zamiast PropertyValueRequired
.
IMO przy użyciu Adnotacji danych do wykonywania logiki sprawdzania poprawności jest ograniczone (może w .NET 4 to się zmieni). Jeśli chcesz mieć pełną kontrolę nad logiką walidacji, zaleciłbym korzystanie z biblioteki sprawdzania poprawności, takiej jak Fluent Validation lub xVal.
Czy są jakieś powody, dla których to pytanie zostało odrzucone? Proszę zostawić komentarz podczas rezygnacji z pytania. IMHO to dobre pytanie. –
Nie wszyscy rozumieją rosyjski. tekst atrybutu powinien być w języku angielskim. –