Mam klasy modelu w Linq-to-Sql z klasami częściowymi oznaczonymi atrybutami adnotacji danych i odniesieniem do xVal.ASP.NET MVC Model/ViewModel Validation
Kiedy wiążę widok bezpośrednio z modelem, wszystko działa świetnie, zarówno JS generowane przez xVal, jak i podwójne sprawdzanie po stronie serwera.
Wiele z moich widoków nie przyjmuje danych wejściowych do jednego określonego modelu, dlatego konfiguruję klasy modelu widoku. Zamiast eksponować całą instancję modelu, wystawiam właściwości do modelu, który zezwalam/powinienem ustawić w widoku.
// foo model
public class Foo {
public string FooField { ... }
public Bar Bar { ... }
}
// bar model, where bar is a parent relationship of foo in the db
public class Bar {
public string BarField { ... }
}
// view model stuff
public class FooViewModel {
private Foo foo;
public FooViewModel() {
foo = new Foo() { Bar = new Bar() };
}
public Foo Model {
get { return foo; }
set { foo = value; }
}
public string BarField {
get { return foo.Bar.BarField; }
set { foo.Bar.BarField = value; }
}
public string ExtraViewModelField {
get; set;
}
}
To podejście powoduje prawidłowe wypełnienie klasy modelu widoku, a repozytorium może prawidłowo wypełnić rekord.
Wcale nie przeprowadza jednak sprawdzania poprawności. Sprawdziłem kod klienta emitowany i tablica sprawdzania poprawności jest pusta dla xval. Ponadto sprawdzanie po stronie serwera dla IsValid ma zawsze wartość true.
Czy mogę mieć adnotacje danych przeciągnąć chociaż właściwości modelu widoku do sprawdzania poprawności tak jak to, czy powinienem robić to w inny sposób?
proszę oznaczyć odpowiedź na to pytanie, jeśli odpowiedział na twoje pytanie –