c# - NJsonSchema:如果我知道我的模式中的一个字段在运行时只能有几个有限值,我可以将它添加到我的验证逻辑中吗?
问题描述
以他们的 GitHub为例,如果我在运行时知道名字只能是“Bob”或“Bill”,我可以对此进行验证吗?
public class Person
{
[Required]
public string FirstName { get; set; }
public string MiddleName { get; set; }
[Required]
public string LastName { get; set; }
public Gender Gender { get; set; }
[Range(2, 5)]
public int NumberWithRange { get; set; }
public DateTime Birthday { get; set; }
public Company Company { get; set; }
public Collection<Car> Cars { get; set; }
}
解决方案
如果一个字符串只能是一些给定的预定义值,那么它必须用 JSON Schema 枚举来描述......这里我会用一个自定义模式处理器(ISchemaProcessor)来实现它,它添加了枚举信息和一个自定义属性来应用它.
https://github.com/RSuter/NJsonSchema/wiki/Schema-Processors
推荐阅读
- python - 在 Windows 10 中从 subprocess.Popen python 在命令提示符中打开和编写命令
- node.js - 使用 Multer 的 Express 应用程序中的 Req.files 始终为空
- c# - 如何将参数和数据源同时传递给 rdlc 报告
- android - 在 Android 应用程序中上传受版权保护或令人反感的图像
- vue.js - Vue.js 不显示符号
- mysql - 如何将临时表中的记录插入主表并将记录更新为同步状态为真
- javascript - 在 AJAX 中请求成功时如何从 ResponseEntity 获取数据?
- protractor - 量角器:完成任务后,它超时
- typescript - 关于'Hybrid Types',为什么使用':interface name'会报错
- amazon-elb - 在 Kong 中更改日志记录格式