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

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.



  • iSeries tutorials

    Search400.com's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...