How to Validate a Date Filed.

Discussion in 'ASP .Net' started by RSB, May 20, 2004.

  1. RSB

    RSB Guest

    Hi Every one

    Need some help to Validate the Date i have in the Form.
    ALso how to Convert the Date Data i read from table to yyyy/MMM/dd format.

    Thanks

    RSB
    RSB, May 20, 2004
    #1
    1. Advertising

  2. RSB

    Cowboy Guest

    You can validate a date using Regular Expressions. It is, by far the easiest
    way with validation controls. To validate back end, you can also attempt to
    cast into a DateTime structure and see if it blows up. While this may seem a
    bit strange, the regex to correctly test for months of different lengths
    would be rather large. The DateTime object will guarantee 2/29/2005 does not
    slip in.

    As far as date formatting, this is most easily changed using CultureInfo
    objects and setting culture to a country that uses the date format you wish
    to use. The other option is to rip the date apart, by parts, and reorder.

    --
    Gregory A. Beamer
    MVP; MCP: +I, SE, SD, DBA

    ************************************************
    Think Outside the Box!
    ************************************************
    "RSB" <> wrote in message
    news:YK7rc.1997$...
    > Hi Every one
    >
    > Need some help to Validate the Date i have in the Form.
    > ALso how to Convert the Date Data i read from table to yyyy/MMM/dd format.
    >
    > Thanks
    >
    > RSB
    >
    >
    Cowboy, May 20, 2004
    #2
    1. Advertising

  3. RSB

    John Oakes Guest

    You can use the CompareValidator as well. Set the Operator property to
    DataTypeCheck and set the Type property to Date.

    -John Oakes

    "Cowboy" <> wrote in message
    news:%...
    > You can validate a date using Regular Expressions. It is, by far the

    easiest
    > way with validation controls. To validate back end, you can also attempt

    to
    > cast into a DateTime structure and see if it blows up. While this may seem

    a
    > bit strange, the regex to correctly test for months of different lengths
    > would be rather large. The DateTime object will guarantee 2/29/2005 does

    not
    > slip in.
    >
    > As far as date formatting, this is most easily changed using CultureInfo
    > objects and setting culture to a country that uses the date format you

    wish
    > to use. The other option is to rip the date apart, by parts, and reorder.
    >
    > --
    > Gregory A. Beamer
    > MVP; MCP: +I, SE, SD, DBA
    >
    > ************************************************
    > Think Outside the Box!
    > ************************************************
    > "RSB" <> wrote in message
    > news:YK7rc.1997$...
    > > Hi Every one
    > >
    > > Need some help to Validate the Date i have in the Form.
    > > ALso how to Convert the Date Data i read from table to yyyy/MMM/dd

    format.
    > >
    > > Thanks
    > >
    > > RSB
    > >
    > >

    >
    >
    John Oakes, May 20, 2004
    #3
  4. Here yer go ... as recommended by Cowboy, and cut'n'paste directly from an
    app I'm writing.

    The first test is for an ordinary date, explicitly coded to en-GB 'cos
    browsers don't appear to return the right nationality and this is for UK.
    The second test is because the users are occasionally lazy about 4 digit
    years, the third test allows for year only entry - a requirement of the app
    I'm writing, and the fourth test is just getting fancy; nobody will ever
    type the word "today" into a text box. To parse other date formats simply
    add more tests.

    Cheers

    Richard
    _____________________________________________
    Dr. Richard Petheram
    AdlZ Ltd.
    E-mail: richard_at_adlz.co.uk
    _____________Web: www.adlz.co.uk ____________

    [ CODE FOLLOWS ]
    Public Shared Function ParseDate(ByVal pString As String, Optional ByRef
    IsValid As Boolean = True) As DateTime
    Dim lDTF As DateTimeFormatInfo =
    CultureInfo.CreateSpecificCulture("en-GB").DateTimeFormat
    Dim lResult As DateTime

    Try
    lResult = DateTime.Parse(pString, lDTF).Date
    IsValid = True
    Return lResult
    Catch ex As Exception
    End Try

    Try
    lResult = DateTime.ParseExact(pString, "dd/MM/yy", lDTF).Date
    IsValid = True
    Return lResult
    Catch ex As Exception
    End Try

    Try
    lResult = DateTime.ParseExact(pString, "yyyy", lDTF).Date
    IsValid = True
    Return lResult
    Catch ex As Exception
    End Try

    If pString.Trim.ToLower = "today" Then
    lResult = DateTime.Today.Date
    IsValid = True
    Return lResult
    End If

    IsValid = False
    Return Nothing
    End Function
    [ END OF CODE ]
    "Cowboy" <> wrote in message
    news:%...
    > You can validate a date using Regular Expressions. It is, by far the

    easiest
    > way with validation controls. To validate back end, you can also attempt

    to
    > cast into a DateTime structure and see if it blows up. While this may seem

    a
    > bit strange, the regex to correctly test for months of different lengths
    > would be rather large. The DateTime object will guarantee 2/29/2005 does

    not
    > slip in.
    >
    > As far as date formatting, this is most easily changed using CultureInfo
    > objects and setting culture to a country that uses the date format you

    wish
    > to use. The other option is to rip the date apart, by parts, and reorder.
    >
    > --
    > Gregory A. Beamer
    > MVP; MCP: +I, SE, SD, DBA
    >
    > ************************************************
    > Think Outside the Box!
    > ************************************************
    > "RSB" <> wrote in message
    > news:YK7rc.1997$...
    > > Hi Every one
    > >
    > > Need some help to Validate the Date i have in the Form.
    > > ALso how to Convert the Date Data i read from table to yyyy/MMM/dd

    format.
    > >
    > > Thanks
    > >
    > > RSB
    > >
    > >

    >
    >
    Richard Petheram, May 20, 2004
    #4
  5. RSB

    RSB Guest

    Hi John,
    so can i also set the Date format for the CompareValidator???

    Thanks
    RSB
    "John Oakes" <> wrote in message
    news:e%...
    You can use the CompareValidator as well. Set the Operator property to
    DataTypeCheck and set the Type property to Date.

    -John Oakes

    "Cowboy" <> wrote in message
    news:%...
    > You can validate a date using Regular Expressions. It is, by far the

    easiest
    > way with validation controls. To validate back end, you can also attempt

    to
    > cast into a DateTime structure and see if it blows up. While this may seem

    a
    > bit strange, the regex to correctly test for months of different lengths
    > would be rather large. The DateTime object will guarantee 2/29/2005 does

    not
    > slip in.
    >
    > As far as date formatting, this is most easily changed using CultureInfo
    > objects and setting culture to a country that uses the date format you

    wish
    > to use. The other option is to rip the date apart, by parts, and reorder.
    >
    > --
    > Gregory A. Beamer
    > MVP; MCP: +I, SE, SD, DBA
    >
    > ************************************************
    > Think Outside the Box!
    > ************************************************
    > "RSB" <> wrote in message
    > news:YK7rc.1997$...
    > > Hi Every one
    > >
    > > Need some help to Validate the Date i have in the Form.
    > > ALso how to Convert the Date Data i read from table to yyyy/MMM/dd

    format.
    > >
    > > Thanks
    > >
    > > RSB
    > >
    > >

    >
    >
    RSB, May 21, 2004
    #5
  6. RSB

    RSB Guest

    Hi Richard,
    thanks for the help.
    So one question do you execute this code as a part of the Validation and
    prompt an error message or it just check for the right error format...
    "Richard Petheram" <> wrote in message
    news:uL9rc.410$...
    Here yer go ... as recommended by Cowboy, and cut'n'paste directly from an
    app I'm writing.

    The first test is for an ordinary date, explicitly coded to en-GB 'cos
    browsers don't appear to return the right nationality and this is for UK.
    The second test is because the users are occasionally lazy about 4 digit
    years, the third test allows for year only entry - a requirement of the app
    I'm writing, and the fourth test is just getting fancy; nobody will ever
    type the word "today" into a text box. To parse other date formats simply
    add more tests.

    Cheers

    Richard
    _____________________________________________
    Dr. Richard Petheram
    AdlZ Ltd.
    E-mail: richard_at_adlz.co.uk
    _____________Web: www.adlz.co.uk ____________

    [ CODE FOLLOWS ]
    Public Shared Function ParseDate(ByVal pString As String, Optional ByRef
    IsValid As Boolean = True) As DateTime
    Dim lDTF As DateTimeFormatInfo =
    CultureInfo.CreateSpecificCulture("en-GB").DateTimeFormat
    Dim lResult As DateTime

    Try
    lResult = DateTime.Parse(pString, lDTF).Date
    IsValid = True
    Return lResult
    Catch ex As Exception
    End Try

    Try
    lResult = DateTime.ParseExact(pString, "dd/MM/yy", lDTF).Date
    IsValid = True
    Return lResult
    Catch ex As Exception
    End Try

    Try
    lResult = DateTime.ParseExact(pString, "yyyy", lDTF).Date
    IsValid = True
    Return lResult
    Catch ex As Exception
    End Try

    If pString.Trim.ToLower = "today" Then
    lResult = DateTime.Today.Date
    IsValid = True
    Return lResult
    End If

    IsValid = False
    Return Nothing
    End Function
    [ END OF CODE ]
    "Cowboy" <> wrote in message
    news:%...
    > You can validate a date using Regular Expressions. It is, by far the

    easiest
    > way with validation controls. To validate back end, you can also attempt

    to
    > cast into a DateTime structure and see if it blows up. While this may seem

    a
    > bit strange, the regex to correctly test for months of different lengths
    > would be rather large. The DateTime object will guarantee 2/29/2005 does

    not
    > slip in.
    >
    > As far as date formatting, this is most easily changed using CultureInfo
    > objects and setting culture to a country that uses the date format you

    wish
    > to use. The other option is to rip the date apart, by parts, and reorder.
    >
    > --
    > Gregory A. Beamer
    > MVP; MCP: +I, SE, SD, DBA
    >
    > ************************************************
    > Think Outside the Box!
    > ************************************************
    > "RSB" <> wrote in message
    > news:YK7rc.1997$...
    > > Hi Every one
    > >
    > > Need some help to Validate the Date i have in the Form.
    > > ALso how to Convert the Date Data i read from table to yyyy/MMM/dd

    format.
    > >
    > > Thanks
    > >
    > > RSB
    > >
    > >

    >
    >
    RSB, May 21, 2004
    #6
  7. RSB

    John Oakes Guest

    I don't think so. It seems to understand most formats though. I wouldn't
    consider it a full-proof method to validate a date, but it works pretty well
    depending on what your need is.

    -John


    "RSB" <> wrote in message
    news:QVqrc.2055$...
    > Hi John,
    > so can i also set the Date format for the CompareValidator???
    >
    > Thanks
    > RSB
    > "John Oakes" <> wrote in message
    > news:e%...
    > You can use the CompareValidator as well. Set the Operator property to
    > DataTypeCheck and set the Type property to Date.
    >
    > -John Oakes
    >
    > "Cowboy" <> wrote in message
    > news:%...
    > > You can validate a date using Regular Expressions. It is, by far the

    > easiest
    > > way with validation controls. To validate back end, you can also attempt

    > to
    > > cast into a DateTime structure and see if it blows up. While this may

    seem
    > a
    > > bit strange, the regex to correctly test for months of different lengths
    > > would be rather large. The DateTime object will guarantee 2/29/2005 does

    > not
    > > slip in.
    > >
    > > As far as date formatting, this is most easily changed using CultureInfo
    > > objects and setting culture to a country that uses the date format you

    > wish
    > > to use. The other option is to rip the date apart, by parts, and

    reorder.
    > >
    > > --
    > > Gregory A. Beamer
    > > MVP; MCP: +I, SE, SD, DBA
    > >
    > > ************************************************
    > > Think Outside the Box!
    > > ************************************************
    > > "RSB" <> wrote in message
    > > news:YK7rc.1997$...
    > > > Hi Every one
    > > >
    > > > Need some help to Validate the Date i have in the Form.
    > > > ALso how to Convert the Date Data i read from table to yyyy/MMM/dd

    > format.
    > > >
    > > > Thanks
    > > >
    > > > RSB
    > > >
    > > >

    > >
    > >

    >
    >
    >
    John Oakes, May 21, 2004
    #7
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. James P.
    Replies:
    7
    Views:
    12,458
    phamtasmic
    Jul 13, 2004
  2. Peter Grison

    Date, date date date....

    Peter Grison, May 28, 2004, in forum: Java
    Replies:
    10
    Views:
    3,196
    Michael Borgwardt
    May 30, 2004
  3. Sue Roussie

    Creating a Dynamic Date Filed

    Sue Roussie, Jul 13, 2004, in forum: HTML
    Replies:
    1
    Views:
    419
    Jeff Thies
    Jul 13, 2004
  4. Chris Davoli

    Validate Date AND Tme not just date

    Chris Davoli, Jan 28, 2009, in forum: ASP .Net Web Controls
    Replies:
    0
    Views:
    158
    Chris Davoli
    Jan 28, 2009
  5. Savvas Tsitouridis

    Date filed in Access Database

    Savvas Tsitouridis, Jul 3, 2007, in forum: ASP General
    Replies:
    3
    Views:
    113
    Evertjan.
    Jul 3, 2007
Loading...

Share This Page