带有子类模型的ASP.NET验证错误

问题描述 投票:0回答:1

我有一个名为Job的模型,它有一个必填字段,这里是为了简单起见:

public class Job
{
    [Required(ErrorMessage = "Insured Name is required.")]
    [MaxLength(100, ErrorMessage = "Insured Name cannot be longer than 100 characters.")]
    [DisplayName("Insured Name")]
    public string InsuredName { get; set; }
}

我现在需要一种称为私有作业的作业,它具有相同的字段,并映射到同一个数据库表,除了我试图更改一堆字段的验证消息。即,保险名称成为客户名称。

我以为我可以通过子类化来做到这一点,所以我创建了一个例子:

[NotMapped]
public class PrivateJobDTO : Job
{   
    [Required(ErrorMessage = "Client Name is required.")]
    [MaxLength(100, ErrorMessage = "Client Name cannot be longer than 100 characters.")]
    [DisplayName("Client Name")]
    new public string  InsuredName { get; set; }

}

当我将PrivateJobDTO传递给我的viewmodel时,我仍然收到“需要保险名称”的验证错误消息,而我希望看到“需要客户端名称”

我究竟做错了什么? (这是正确的方法)

c# asp.net asp.net-mvc
1个回答
0
投票

感谢评论,它告诉我,我正在将基类传递给模型,而不是子类,愚蠢的错误。

© www.soinside.com 2019 - 2024. All rights reserved.