moving validation rules to restmodule.

This commit is contained in:
kay.one 2013-04-20 13:16:33 -07:00
commit 373a93be64
5 changed files with 10 additions and 33 deletions

View file

@ -2,10 +2,8 @@
namespace NzbDrone.Api.REST
{
public abstract class RestResource<T>
where T : RestResource<T>, new()
public abstract class RestResource
{
public int Id { get; set; }
public virtual string ResourceName
@ -15,28 +13,5 @@ namespace NzbDrone.Api.REST
return GetType().Name.ToLower();
}
}
protected AbstractValidator<T> PostValidator { get; private set; }
protected AbstractValidator<T> PutValidator { get; private set; }
public RestResource()
{
PostValidator = new InlineValidator<T>();
PutValidator = new InlineValidator<T>();
PostValidator.RuleFor(m => m.Id).Equal(0);
PutValidator.RuleFor(m => m.Id).GreaterThan(0);
}
public void ValidateForPost()
{
PostValidator.ValidateAndThrow((T)this);
}
public void ValidateForPut()
{
PutValidator.ValidateAndThrow((T)this);
}
}
}