De façon correcte à utiliser dans AutoMapper ASP.Net MVC
Je suis en train de commencer à l'aide de ViewModels - mais je vais avoir du mal avec ce POST de ne pas valider - les valeurs dans le modèle sont présentés dans la partie ci-dessous le code:
ModelStats.IsValid = false
Mon ItemViewModel est:
public class ItemViewModel
{
public int ItemId { get; set; }
[Display(Name = "Item")]
public string ItemName { get; set; }
[Display(Name = "Description")]
public string Description { get; set; }
[Display(Name = "Price")]
public double UnitPrice { get; set; }
[Range(0.00, 100, ErrorMessage = "VAT must be a % between 0 and 100")]
public decimal VAT { get; set; }
[Required]
public string UserName { get; set; }
}
Je suis sûr que ce sera quelque chose de simple - mais je viens de regarder si longtemps, je ne peux pas comprendre ce que je fais mal. Quelqu'un peut-il svp conseiller?
Grâce, Marque
- La validation de la ViewModel est avant de définir le
UserName
bien, donc, je pense, c'est nul et la validation échoue. Pourquoi avez-vous besoin d'un nom d'utilisateur requis dans votre ViewModel de toute façon?
Vous devez vous connecter pour publier un commentaire.
Aussi loin que l'échec de Validation est concerné.
Si vous n'êtes pas fournir
UserName
dans le formulaire, puis retirer [Obligatoire] à partir deItemViewModel
Afin d'Utiliser AutoMapper
Tout d'abord, Créez une carte, comme
Et puis la carte
Consulter: Comment puis-je utiliser AutoMapper? section dans https://github.com/AutoMapper/AutoMapper/wiki/Getting-started
ModelState
n'est pas valide alors que vous avez mis de la validation de certains qui sont en échec,ModelState
n'a rien à voir avec AutoMapperUserName
dans le formulaire? Si non, supprimer[Required]
de viewModelAssurez-vous que votre
ItemViewModel
,Item
classes ont les mêmes champs ou pas. Si même les champs avec les mêmes Types de données AutoMapper fonctionne très bien.Si les Champs ne sont pas les mêmes dans les deux classes assurez-vous que même avec un Mappage Personnalisé.
Au-dessus de Cartographie Personnalisés
Fullname
estUserVM
champ de cartes avecFirstName
,LastName
champs deUserDM
(iciUserDM
est Modèle du Domaine,UserVM
est Vue Modèle).