你这是最低是 MinimumLength = 6,所以要有6个字符。
有时候光是一个 public int a{get;set;}都会必填验证是为什么
@刘小备: 可能是别的地方做了验证的。
去掉[StringLength(6, ErrorMessage = "{0}只能输入{1}位数字!", MinimumLength = 6)],用JS验证吧
From MSDN: 在需要指定某个属性允许的字符数时,将 StringLengthAttribute 特性应用于该属性。如果属性的值为 Nothing,则 StringLengthAttribute 特性的值验证将不会失败。要确保该值不为 Nothing,请使用 RequiredAttribute 特性。所以一定是其他地方的问题……