【发布时间】:2020-01-20 07:51:36
【问题描述】:
我正在尝试使用注释验证下面的属性,它应该是真还是假
public bool Info { get; set; }
如果我像下面这样传递 json,我会得到一个无效的数据验证错误
{
"info": trues
}
但奇怪的是,如果我像下面这样通过,没有数据验证。
{ "info": 12345 }
我曾尝试使用ValidationAttribute,如下所示,但即使 val 为 12345
public class IsBoolAttribute : ValidationAttribute
{
//public override bool RequiresValidationContext => true;
public override bool IsValid(object value)
{
if (value == null) return false;
if (value.GetType() != typeof(bool)) return false;
return (bool)value;
}
}
【问题讨论】:
-
尝试使用可以为空的布尔值?操作员。在您的情况下,如果 mvc 无法解析值,它将是错误的。但是如果 yomake 它可以为空,如下 public bool?信息{得到;放;如果传递了无效数据,} 值将为 null。
-
@Hemant 感谢您的评论,我试过了,但没有希望
标签: c# asp.net-core model webapi