Web API 从 [ValidationAttribute] 获取原始值
Web API Get Raw Value from [ValidationAttribute]
嗨,我有这个自定义验证属性:
public sealed class TestValidation : ValidationAttribute
{
public TestValidation ()
{
}
}
并像这样使用它:
public class Test
{
[TestValidation]
public DateTime? DateUpdated { get; set;}
}
我有这样的 JSON 值:
{ "DateUpdated": "abcdefg" }
发生的事情是,由于 "abcdefg" 不是有效的 DateTime 格式,它会自动将其转换为 null,因为目标数据类型是 Nullable。是否可以在 TestValidation class?
上获取原始值 (abcdefg)
您需要覆盖 IsValid 方法。
这是您应该做的事情。
public sealed class TestValidation : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
//value contains the value of datetime 'DateUpdated' (abcdefg)
}
}
嗨,我有这个自定义验证属性:
public sealed class TestValidation : ValidationAttribute
{
public TestValidation ()
{
}
}
并像这样使用它:
public class Test
{
[TestValidation]
public DateTime? DateUpdated { get; set;}
}
我有这样的 JSON 值:
{ "DateUpdated": "abcdefg" }
发生的事情是,由于 "abcdefg" 不是有效的 DateTime 格式,它会自动将其转换为 null,因为目标数据类型是 Nullable。是否可以在 TestValidation class?
上获取原始值 (abcdefg)您需要覆盖 IsValid 方法。
这是您应该做的事情。
public sealed class TestValidation : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
//value contains the value of datetime 'DateUpdated' (abcdefg)
}
}