禁用必需的属性
Disable required attribute
我有一个 class:
public class ShoppingParent : Parent
{
}
实现这个 class:
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
class,所以 ModelState.Valid
总是错误的,因为 Password
是必需的,但我没有填充它ShoppingParent
class.
中不需要的数据
我正在尝试找出如何禁用 ShoppingParent
class 中所需的 Password
但将其保留在 Parent
class 中.
有人知道怎么做吗?
您可以将公共属性移动到一个界面,并让每个属性决定是否需要它。
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; }
}
我有一个 class:
public class ShoppingParent : Parent
{
}
实现这个 class:
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
class,所以 ModelState.Valid
总是错误的,因为 Password
是必需的,但我没有填充它ShoppingParent
class.
我正在尝试找出如何禁用 ShoppingParent
class 中所需的 Password
但将其保留在 Parent
class 中.
有人知道怎么做吗?
您可以将公共属性移动到一个界面,并让每个属性决定是否需要它。
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; }
}