How to Validate Forms with ASP.NET MVC 2 Data Annotations: Listing 3.

Server-Side Custom Validator for WithinDays()

<DisplayName("Anniversary Date")>
        <Required()>
        '<Range(GetType(DateTime), "01/01/2000", "12/31/2010")>
 <WithinDays(PriorDays:=-30, SubsequentDays:=30, ErrorMessage:=
   "Date Must be Within 30 Days")>
        <DisplayFormat(DataFormatString:="{0:d}", 
          ApplyFormatInEditMode:=True)>
        Public Property AnniversaryDate As Object
    End Class
	
    Public Class WithinDaysAttribute
        Inherits ValidationAttribute

        Public Property PriorDays As Integer
        Public Property SubsequentDays As Integer
        Private ParmDate As DateTime

        Public Overrides Function IsValid(ByVal value As Object) 
          As Boolean
        If IsNothing(value) Then _
        Return False
        If (DateTime.TryParse(value.ToString(), ParmDate) = False) 
        Then Return False

            Dim WithinRange As Boolean =
                (ParmDate >= DateTime.Now.AddDays(PriorDays)) And
                (ParmDate <= DateTime.Now.AddDays(SubsequentDays))

            Return WithinRange
        End Function
    End Class
comments powered by Disqus

Featured

  • Low-Coding in the Age of AI: Dataverse Embraces Copilot, Claude and Cursor

    Microsoft is extending Dataverse into coding-agent marketplaces while expanding its MCP tools, certification program and governance controls.

  • Visual Studio Takes Aim at Copilot Billing Shock

    Beyond Copilot usage visibility, the June update delivers several other enhancements centered on AI-assisted development, security and quality-of-life improvements. Here's a quick rundown of the remaining additions announced by Microsoft.

  • Claude AI Gets Yet Another Boost in VS Code 1.128

    The July 8, 2026, Visual Studio Code update expands agent workflows, chat attachments, browser-tab controls, OS-level shortcuts and enterprise telemetry management.

  • TypeScript 7 Arrives to Rock VS Code with Go-Powered Speed

    Microsoft says TypeScript 7, announced July 8, brings native Go performance to VS Code, Visual Studio and other editors.

Subscribe on YouTube