You can’t store a number bigger than what your underlying data type could hold so that fact that the Range attribute requires a max value is a very good thing. Remember that ∞
doesn’t exist in the real world, so the following should work:
[Range(1, int.MaxValue, ErrorMessage = "Please enter a value bigger than {1}")]
public int Value { get; set; }