考虑以下控制器操作的签名:
我想要能够验证调用者提供的参数。在两种情况下,第一个参数中被视为有效输入的内容都取决于第二个参数的值。
到目前为止,我没有找到在ASP.NET Core 3.0中如何使用验证属性实现这一点的解释或示例。
我看到例如CustomValidationAttribute允许在方法上使用它。我可以给它一个IsValid将委托到的方法,并提供对象和验证上下文:
我查看了IsValid和ValidationContext的文档,但没有找到任何提示,说明如何访问传递给验证操作的参数。
在搜索提示时,我找到了来自“Pro ASP.NET Web API”ASP.NET中的HTTP Web服务的摘录,他们实现了类似的功能。然而,这段摘录结束之前没有展示代码,而我没有那本书(没有找到相应的书,只有关于ASP.NET Core的书)。
[HttpGet]
public IEnumerable<Whatever> Get(DateTime from, DateTime to)
或者
[HttpGet]
public Whatever Get(int amount, SomeUnit unit)
我想要能够验证调用者提供的参数。在两种情况下,第一个参数中被视为有效输入的内容都取决于第二个参数的值。
到目前为止,我没有找到在ASP.NET Core 3.0中如何使用验证属性实现这一点的解释或示例。
我看到例如CustomValidationAttribute允许在方法上使用它。我可以给它一个IsValid将委托到的方法,并提供对象和验证上下文:
IsValid(Object, ValidationContext)
我查看了IsValid和ValidationContext的文档,但没有找到任何提示,说明如何访问传递给验证操作的参数。
在搜索提示时,我找到了来自“Pro ASP.NET Web API”ASP.NET中的HTTP Web服务的摘录,他们实现了类似的功能。然而,这段摘录结束之前没有展示代码,而我没有那本书(没有找到相应的书,只有关于ASP.NET Core的书)。
[StringLength(1)]
等? - Yarek T