Imports System.Windows.Controls
Namespace Controls.Form
Public Class DoubleGreaterThan
Inherits ValidationRule
Public Property Title As String
Public Property Value As Double
Sub New()
End Sub
Sub New(title As String, value As Double)
Me.Title = title
Me.Value = value
End Sub
Public Overloads Overrides Function Validate(value As Object, cultureInfo As Globalization.CultureInfo) As ValidationResult
Dim v = CDbl(value)
Return New ValidationResult(v >= Me.Value, String.Format("{0} is less than {1}", Title, Me.Value))
End Function
End Class
Public Class DoubleLessThan
Inherits ValidationRule
Public Property Title As String
Public Property Value As Double
Sub New()
End Sub
Sub New(title As String, value As Double)
Me.Title = title
Me.Value = value
End Sub
Public Overloads Overrides Function Validate(value As Object, cultureInfo As Globalization.CultureInfo) As ValidationResult
Dim v = CDbl(value)
Return New ValidationResult(v <= Me.Value, String.Format("{0} is greater than {1}", Title, Me.Value))
End Function
End Class
Public Class DoubleRequired
Inherits ValidationRule
Public Property Title As String
Sub New()
End Sub
Sub New(title As String)
Me.Title = title
End Sub
Public Overloads Overrides Function Validate(value As Object, cultureInfo As Globalization.CultureInfo) As ValidationResult
Dim isValid = False
If IsNumeric(value) Then
Try
Dim v = CDbl(value)
isValid = True
Catch ex As Exception
End Try
End If
Return New ValidationResult(isValid, String.Format("{0} is required", Title))
End Function
End Class
End Namespace