【问题标题】:WPF Specific Date ValidationWPF 特定日期验证
【发布时间】:2014-07-09 01:00:54
【问题描述】:

我们的客户希望收到 2 条基于无效日期的不同消息。例如,2014 年 7 月 8 日将是“无效日期格式”,其中 2/30/2014 是“无效日期”。 C# 有没有办法用单独的消息通知用户? Datetime tryparse 将两者都标识为错误日期,只是不确定我是否可以确定错误日期的原因而无需将日期拆分为字符串等。

提前致谢

【问题讨论】:

    标签: c# wpf validation date


    【解决方案1】:

    您可以尝试使用正则表达式匹配它,即“一位或两位数字后跟斜杠,后跟一位或两位数字,后跟斜杠,后跟四位数字”,它将清除“无效的日期格式”。

    我的 RegEx 技能生疏了,但这应该可以确保格式正确:

    \d{1,2}/\d{1,2}/\d{4}
    

    如果匹配,则比其“有效格式”

    static class DateParser
    {
        private static readonly Regex DateRegex = new Regex(@"\d{1,2}/\d{1,2}/\d{4}");
        public static DateTime Parse(string value)
        {
            if (!DateRegex.IsMatch(value)) throw new DateFormatException();
            return DateTime.Parse(value);
        }
    }
    
    internal class DateFormatException : Exception
    {
    }
    

    WPF 与验证有什么关系?

    【讨论】:

    • 谢谢。我有点担心 2/30/2014。我希望处理 2 个不同的异常。还在寻找..
    猜你喜欢
    • 2014-04-27
    • 2020-09-04
    • 2011-02-06
    • 1970-01-01
    • 2013-07-06
    • 2014-02-09
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    相关资源
    最近更新 更多