728x90
728x170
■ ValidationRule 클래스를 사용해 현재 날짜보다 미래 날짜 여부를 검증하는 방법을 보여준다.
▶ 예제 코드 (C#)
using System;
using System.Globalization;
using System.Windows.Controls;
/// <summary>
/// 미래 날짜 규칙
/// </summary>
public class FutureDateRule : ValidationRule
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 검증하기 - Validate(value, cultureInfo)
/// <summary>
/// 검증하기
/// </summary>
/// <param name="value">값</param>
/// <param name="cultureInfo">문화 정보</param>
/// <returns>검증 결과</returns>
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
DateTime date;
try
{
date = DateTime.Parse(value.ToString());
}
catch(FormatException)
{
return new ValidationResult(false, "Value is not a valid date. Please enter a valid date");
}
if(DateTime.Now.Date > date)
{
return new ValidationResult(false, "Value is not a future date. Please enter a date in the future.");
}
return ValidationResult.ValidResult;
}
#endregion
}
728x90
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] Binding 엘리먼트 : Source/Path/UpdateSourceTrigger 속성을 사용해 단순 바인딩 설정하기 (0) | 2023.02.18 |
---|---|
[C#/WPF] ItemsControl 엘리먼트 : ItemsPanel/ItemTemplate/ItemContainerStyle/Template 속성을 사용해 스타일 및 템플리트 설정하기 (0) | 2023.02.17 |
[C#/WPF] DataTemplateSelector 엘리먼트 : 데이터 객체 속성에 따라 DataTemplate 객체 선택하기 (0) | 2023.02.16 |
[C#/WPF] 데이터 바인딩 사용하기 (0) | 2023.02.16 |
[C#/WPF] IValueConverter 인터페이스 : 날짜/시간↔문자열 변환자 사용하기 (0) | 2023.02.12 |
[C#/WPF] IMultiValueConverter 인터페이스 사용하기 (0) | 2023.02.12 |
[C#/WPF] ControlTemplate 엘리먼트 : Window 엘리먼트 정의하기 (0) | 2023.02.11 |
[C#/WPF] ControlTemplate 엘리먼트 : TreeView 엘리먼트 정의하기 (0) | 2023.02.10 |
[C#/WPF] ControlTemplate 엘리먼트 : ToolTip 엘리먼트 정의하기 (0) | 2023.02.10 |
[C#/WPF] ControlTemplate 엘리먼트 : ToolBar 엘리먼트 정의하기 (0) | 2023.02.09 |