【问题标题】:StringLength DataAnnotaion Not Working MVC4字符串长度数据注释不工作 MVC4
【发布时间】:2013-08-13 10:44:34
【问题描述】:

我的模型类中有一个属性,例如-

[StringLength(4)]        
        [DisplayName("Price")]
        public string Price{ get; set; }

如您所见,我已使用 StringLength 作为此属性的约束,它的长度不应超过 4,但当我使用小数点(如 1.23)时它有效,但当我不使用小数点时,它需要超过 4 个字符串长度价值。

我该如何解决。

还有一个问题:- 我想对小时(我的模型类中的属性)应用验证,如果它是十进制的,它最多可以占用 2 位数字(小时的最大值只能在一天中为 24),如(4.20),如果它没有十进制它最多可以有 2 位数字,例如 (24)

我希望我清楚

【问题讨论】:

    标签: c# asp.net-mvc-4 data-annotations string-length


    【解决方案1】:

    如果你想存储十进制值,你应该使用decimal类型而不是字符串。您可以使用 RangeAttribute 限制允许的最大值

    [Range(0, 9999)] // First argument (0) represents minimum and second argument (9999) represents maximum value allowed for Price.
    public decimal Price { get; set; }
    

    对于与时间相关的其他问题,您可以使用数据类型 TimeSpan,它允许您仅存储时间值。 您应该始终努力为要存储的数据使用正确的类型,以确保数据完整性和易于维护。

    【讨论】:

      猜你喜欢
      • 2013-01-24
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 2013-11-25
      相关资源
      最近更新 更多