繁体   English   中英

如何在Web API中的模型中禁用属性的必填属性?

[英]How can I disable required attribute on a property in a model in web api?

如何禁用已在模型属性上设置的[Required]属性。

我尝试使用下面的代码使用new关键字,但是不起作用。

我也尝试了override关键字,以及它不起作用。

ChildModel使用大部分的属性BaseModel这不是创造新的模型文件和代码许多相似的性质,我想着做这样的事情的。

public class BaseModel
{
    [Required]
    public string Address{ get; set; }
}


public class ChildModel : BaseModel
{
    public new string Address{ get; set; }    
}

任何简单的解决方案?

简单地使用属性上的new关键字覆盖或重新声明并删除属性是行不通的。 我一直这样做的方式如下:

public abstract class BaseModel
{
    public abstract string Address { get; set; }
}


public class ChildModel : BaseModel
{
    [Required]
    public override string Address { get; set; }
}

public class AnotherChildModel : BaseModel
{
    //Not[Required]
    public override string Address { get; set; }
}

如果您想了解有关继承期间如何处理基类的属性的更多信息,可以阅读线程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM