我有一个班级:
public class ShoppingParent : Parent
{
}
实现此类:
public class Parent
{
public string Firstname { get; set;}
public string Lastname { get; set;}
public string Address { get; set;}
public string Town { get; set;}
[Required]
public string Password { get; set;}
}
由于ShoppingCart
实现了Parent
类,ModelState.Valid
始终为false,因为Password
是必需的,但我不会使用数据填充它,因为它不需要在ShoppingParent
班。
我正在尝试弄清楚如何禁用Password
课程中所需的ShoppingParent
,但要求Parent
课程中保持此要求。
有谁知道怎么做?
答案 0 :(得分:2)
您可以将公共属性移动到界面,并让每个属性决定是否需要。
public interface IParent
{
string Firstname { get; set; }
string Lastname { get; set; }
string Address { get; set; }
string Town { get; set; }
string Password { get; set; }
}
public class ShoppingParent : IParent
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public string Address { get; set; }
public string Town { get; set; }
public string Password { get; set; }
}
public class PasswordRequiredParent : IParent
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public string Address { get; set; }
public string Town { get; set; }
[Required]
public string Password { get; set; }
}