Ant*_*rim 1 c# asp.net json asp.net-web-api asp.net-web-api2
我有一个模型,我使用DataAnnotations来执行验证,例如
public class OrderDTO
{
[Required]
public int Id { get; set; }
[Required]
public Decimal Amount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后我检查每个请求中的ModelState以确保JSON有效.
但是,我在Amount上面的数字属性方面遇到了麻烦.即使它被设置为[Required],如果它没有包含在JSON中,它将跳过ModelState验证,因为它自动默认为0而不是null,因此模型看起来有效,即使它不是.
"修复"这个的简单方法是将所有数字属性设置为可为空(int?,Decimal?).如果我这样做,默认为0并不会发生,但我不喜欢这个作为一个明确的解决方案,因为我需要改变我的模型.
有没有办法设置属性,null如果它们不是JSON的一部分?
| 归档时间: |
|
| 查看次数: |
1759 次 |
| 最近记录: |