1
我正在使用Web API2应用程序,需要验证客户端有条件地发送的DTO。我正在使用基于属性的验证。 我的设计是有一个IDtoValidator
接口,其中有一个IsValid()
方法来验证数据。 我需要提供错误消息以及用户可读的格式,它出现在接口本身中,以便实现接口的每个类都可以放入它们自己的错误消息。验证DTO并获取错误消息
这里是我的课: 操作方法:
public interface IDtoValidator
{
bool IsValid();
}
public class FormResponseDto : BaseResponseDto, IDtoValidator
{
public bool IsValid()
{ ... some logic to validate the model...}
}
我的验证的操作方法的想法
public async Task<IHttpActionResult> MyMethod(FormResponseDto dto)
{
if(dto.IsValid())
return BadRequest(dto.GetErrorMessage());
}
请提出简洁的设计这一点。 问题是,在isValid()
方法中,我需要设置errorMessage,这是接口的另一个属性。只需要私人设置,这不能在一个界面中完成。