0
4

1 回答 1

1

稍后我会接受您查询服务是否有任何验证错误?

验证后立即查询服务然后重置错误,或者让方法调用返回验证错误。如果您执行其中任何一项,您可以在它们前面加上(prefix(this validationDictionaryObject, string pfx))一个字典的扩展方法,这样 API 就不会太糟糕了。字典的第二个扩展方法 (HasErrors()) 将与您的布尔返回相同

对于您一个人遇到的问题,我倾向于避免查询服务以查找错误。

让服务将它们全部收集起来很方便,但是随后您将错误状态添加到不真正属于的服务中,这不是服务损坏,而是它检查的一个模型损坏了。如果您需要再次调用该服务(就像您正在做的那样)它具有旧状态。你必须管理它。要么返回错误,要么返回错误,因为毕竟它是一种验证方法。让它返回验证结果。:)

var errs = service.ValidateCustomer(sellinCustomer);
if (errs.HasErrors()){
   errs.Prefix("SellingCustomer");
   //add to model state dictionary for view here.
}
于 2011-02-03T21:19:27.193 回答