title: Range validation attribute not validating
body: <p>I have an object, lets say this:</p>
  
  <pre><code>public class Person{
      [Range(1, 100)]
      public int Id {get;set;}
  
      [Required]
      public string Name {get;set;}
  }
  </code></pre>
  
  <p>As you can see the <code>Id</code> should atleast contain 1 and the name field is required.</p>
  
  <p>I have this validation method:</p>
  
  <pre><code>private static void ValidateObject(Person obj){
      var context = new ValidationContext(obj, serviceProvider: null, items: null);
      var results = new List&lt;ValidationResult&gt;();
  
      var isValid = Validator.TryValidateObject(obj, context, results);
  
      if (!isValid)
      {
          throw new InvalidOperationException(results.First().ErrorMessage);
      }        
  }
  </code></pre>
  
  <p>If I leave the <code>Name</code> empty, it will throw an error. Correct!
  If I leave the <code>Id</code> to 0, it will NOT throw an error. And this is what I can't figure out. The variable <code>isValid</code> is also true (should be false)</p>
  
  <p>What am I doing wrong?</p>