问题描述
我有以下请求模型:
public class VisitRequest
{
public ProviderInfo Provider { get; set; }
[Required]
[MaxLength(64)]
public string PayerId { get; set; }
}
我有如下的自定义类:
public class ProviderInfo
{
[Required]
[MaxLength(15)]
public string TaxId { get; set; }
[Required(ErrorMessage = " Qualifier is required.")]
[MaxLength(15)]
public string NPI { get; set; }
}
我目前正在使用ValidationContext进行模型验证:
var visitData = JsonConvert.DeserializeObject<VisitRequest>(jsonString);
var vc = new ValidationContext(visitData);
var errorResults = new List<ValidationResult>();
var isValid = Validator.TryValidateObject(visitData,vc,errorResults,true);
我的演示json请求如下:
{
'Member': {
'Qualifier': 'MedicaidID','Identifier': '100'
},'ExternalVisitID': '123456789',}
现在,我在ErrorResult中收到的错误消息为:
PayerId is required.
但是我没有得到自定义类的验证。如何在 .Net Core Console应用程序中实施此操作? 我对.Net Core相当陌生,因此不胜感激。谢谢!
更新:
我遵循@John H给出的答案,但是仍然存在一个问题。
如果我的要求是:
'Provider' : {
'TaxId' : null
}
它将正常工作,因为它能够识别出这是ProviderInfo对象的类型。
但是,如果我的请求中不包含有关提供商的任何信息:
{
'ExternalVisitID': '123456789','EVVMSID': '100',}
然后它将无法验证对象。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)