我在MVC中验证模型服务器端时遇到了问题。我的模型有很多字段,每一个字段都可以很好地验证。我唯一的问题是有两个十进制字段:
[Required]
[DataType(DataType.Currency]
[DisplayFormat(ConvertEmptyStringToNull = true)]
public decimal A { get; set; }
[DataType(DataType.Currency)]
[DisplayFormat(ConvertEmptyStringToNull = true)]
public Nullable<decimal> B { get; set; }
如果A的值为空或者A或B的字符串为空,则得到带有堆栈跟踪的NullReferenceException,我甚至无法分析。我尝试在我的控制器中捕获异常,但异常在它到达之前出现。 如果我是A中的数字值并留下空值或将数字放在B中(就像两者都有效一样),其他一切都按预期进行 - 如果有验证问题则显示,如果没有,则记录保存在D B。 我试着到处寻找,但也许我忽略了一些事情......除此之外我还有点生疏,验证从来都不是我强大的一面。 谢谢你的帮助!