Problem solve Get help with specific problems with your technologies, process and projects.

Using LS or JS to validate a date field on a Notes form

Is there a way using LotusScript or perhaps JavaScript to validate a date field on a Notes form? Users will occasionally manually enter a date like 11/18/0200 and the form stills saves successfully. There is a date control on the field to pick a date; however, many times they manually enter the data. Any suggestions would be greatly appreciated. Thank you!
I generally prefer to use macro language for validation, but you can use any of these languages. JavaScript is the hardest because its default way of handling dates is not identical to the way Notes does it. Here's an example macro language validation formula:

@If(@ThisValue = ""; 
"You must enter a date"; 
@Year(@ThisValue) < 1950; 
"Please enter a date no earlier 
than 1950 A.D."; 
Or, in a Querysave form event, you might do something like this:
Sub Querysave(Source As 
Continue As Variant) 
Dim doc As NotesDocument 
Set doc = Source.Document 
If doc.DateField(0) = "" Then 
msgbox "You must enter a date." 
Source.GotoField "DateField" 
Continue = False 
Elseif Year(doc.DateField(0)) < 1950 
msgbox "You must enter a date 
no earlier than 1950." 
Source.GotoField "DateField" 
Continue = False 
End If 
End Sub 

Perhaps you can see why I prefer macro language.

Do you have comments on this Ask the Expert Q&A? Let us know.

Dig Deeper on LotusScript

  • Favorite iSeries cheat sheets

    Here you'll find a collection of valuable cheat sheets gathered from across the iSeries/ community. These cheat ...