Ich habe in dem Geschäftsmodell Product
und Category
wie unter dem Namen füge ich die Validierungen:Was sollte in meinen View Models sein?
public class Product
{
public int ProductId {get; set;}
[Required]
[StringLength(25)]
public string Name {get; set;}
public string Description {get; set;}
public int CategoryId {get; set;}
}
public class Category
{
public int CategoryId {get; set;}
public string Name {get; set;}
}
Für die Ansicht Modell, das ich so etwas wie diese erstellt habe:
public class ProductViewModel
{
public Product Product {get; set;}
public IList<Category> Categories {get; set;}
}
Ein Freund von mir halten vorgeschlagen Alle Validierungen im View-Modell und das Zuordnen aller Eigenschaften des Business-Modells im View-Modell wie folgt:
public class ProductViewModel
{
public int ProductId {get; set;}
[Required]
[StringLength(25)]
public string Name {get; set;}
public string Description {get; set;}
public int CategoryId {get; set;}
public IList<SelectListItem> CategoryDropdownValues {get; set;}
}
Ich fragte ihn die Vorteile dieses Ansatzes zu dem oben genannten, er war nicht sehr sicher. Er bestand jedoch darauf, dass Sie die Geschäftsmodelle nicht direkt in Ihren Ansichten verwenden sollten und dass nur die Modelle validiert werden sollten.
Meine Fragen:
- Sollte ich im Hinblick auf Modelle oder Geschäftsmodelle meine Validierungslogik halten?
- Ist es schlecht, wenn die Ansichtsmodelle von Geschäftsmodellen abhängen?
Niedrigste? Wie im Geschäftsmodell oder View-Modell? –
Geschäftsmodell. – iefpw