【发布时间】:2016-01-04 09:11:55
【问题描述】:
我正在开发一个 Web API 2 项目。除了要求某些属性是必需的外,有些只能具有特定值。 一种选择是我可以尝试将模型保存到数据库(EF6)并在保存时创建一些逻辑,但我认为最好在调用数据库之前验证是否设置了正确的值。数据注释是否提供了像 Range 这样的属性,但又提供了特定的字符串值,如下例所示?还是我必须编写自己的验证器属性?
public class Person {
public int PersonID { get; set; }
[Required]
public string FirstName { get; set; }
public string LastName { get; set; }
[StringRange("M","F")]
public string Gender { get; set; }
}
在上面的示例中,当向控制器发送帖子时,唯一接受的值是“M”或“F”。
【问题讨论】:
-
你可以使用正则表达式见stackoverflow.com/questions/8244572/…
-
你也可以创建自定义验证属性youtube.com/watch?v=vcX8WW4fL1s
标签: c# asp.net-web-api2