首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >asp.net核心2.0自定义输入时间{mm:ss.fff}

asp.net核心2.0自定义输入时间{mm:ss.fff}
EN

Stack Overflow用户
提问于 2018-07-03 00:08:51
回答 1查看 148关注 0票数 0

是否可以在razor视图的输入框中定义DateTime或TimeSpan的自定义掩码或格式?(在这种情况下,寻找{mm:ss.fff}我已经尝试了我的模型中的一些组合,包括;

代码语言:javascript
复制
    [Required (ErrorMessage ="please add a time")]
        [Display(Name = "Clocked Time")]
        [DisplayFormat(DataFormatString = "{0: mm:ss.fff}", ApplyFormatInEditMode = true)] 
         public TimeSpan? Clockedtime { get; set; }
EN

回答 1

Stack Overflow用户

发布于 2018-07-03 03:57:00

我认为您将很难获得TimeSpan的格式/输入掩码。我认为,最好的选择是使用字符串作为输入类型,并对其应用正则表达式。

代码语言:javascript
复制
[Required (ErrorMessage ="please add a time")]
[Display(Name = "Clocked Time")]
[RegularExpression(@"^(60|([0-5][0-9])):(60|([0-5][0-9]))(\.[0-9]*)$", ErrorMessage = "Must be in format hh:mm.fff")]
public String ClockedtimeString { get; set; }

private TimeSpan Clockedtime => TimeSpan.Parse(ClockedtimeString);

如果用户输入了不正确的值,这应该会在客户端提供验证。您可能可以调整正则表达式以更好地满足您的需求(这不是我的专业领域)。

在您的控制器/剃刀页面中,您可以引用Clockedtime属性,该属性应包含已解析的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51140051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档