How to Validate Forms with ASP.NET MVC 2 Data Annotations: Listing 5.
WithinDaysValidator Class to Define the Custom Client Validation Rule
Public Class WithinDaysValidator
Inherits DataAnnotationsModelValidator(Of WithinDaysAttribute)
Private _priorDays As Integer
Private _subsequentDays As Integer
Private _message As String
Public Sub New(ByVal metadata As ModelMetadata,
ByVal context As ControllerContext,
ByVal attribute As WithinDaysAttribute)
MyBase.New(metadata, context, attribute)
_message = attribute.ErrorMessage
_priorDays = attribute.PriorDays
_subsequentDays = attribute.SubsequentDays
End Sub
Public Overrides Function GetClientValidationRules() _
As IEnumerable(Of System.Web.Mvc.ModelClientValidationRule)
Dim Rule As New ModelClientValidationRule _
With {.ErrorMessage = _message, .ValidationType =
"withindays"}
Rule.ValidationParameters.Add("prior", _priorDays)
Rule.ValidationParameters.Add("subsequent", _subsequentDays)
Dim ModelClientValidationRule() = {Rule}
Return ModelClientValidationRule
End Function
End Class