public virtual void ValidatesNumericalityOf(object value, string message = "Should be a number")
{
var type = value.GetType().Name;
var numerics = new string[] { "Int32", "Int16", "Int64", "Decimal", "Double", "Single", "Float" };
if (!numerics.Contains(type)) {
Errors.Add(message);
}
}