Validating a rich text field:
http://www.ibm.com/developerworks/lotus/library/rich-text-field-notes/
I have copy pasted the three methods from the above link for my reference.
Method 1
In the first method, if the field contains any input (even only a single space character), then it can pass the validation. This validation uses the Querysave event of the form that contains the field. The following LotusScript sample code performs this validation:
Sub
Querysave(Source As Notesuidocument, Continue As Variant)
If ( Source.FieldGetText(
"rtfield" ) = "" ) Then
Messagebox( "Please
enter some text." )
Call Source.GotoField(
"rtfield" )
Continue = False
End If
End Sub
|
The code checks for any character in the field rtfield. If the field contains input (even if it consists solely of one or more space characters), then validation succeeds. If the field is empty, then the code returns an error message, and doesn’t save the document (by setting Continue to False).
Method 2
In the second method, the rich text field must contain at least one non-space character (in other words, an input consisting entirely of one or more spaces is not allowed). This check also uses the Querysave event of the form:
Sub
Querysave(Source As Notesuidocument, Continue As Variant)
Dim rtitem As NotesRichTextItem
Set doc = Source.Document
Set rtitem = doc.GetFirstItem(
"rtfield" )
Dim text As String
text$ =
Source.FieldGetText("rtfield")
trimmed$ = Trim(text)
if ( trimmed$ = "")
Then
Msgbox "Please enter
some text."
Continue = False
source.GotoField("rtfield")
source.Refresh(True)
Else
Continue = True
End If
End Sub
|
Method 3
Our third method validates a rich text field in which an input consisting solely of an attachment, embedded object, or link is allowed, even if it includes no accompanying text. Once again, we use the Querysave event of the form containing the field:
Sub
Querysave(Source As Notesuidocument, Continue As Variant)
Dim rtitem As NotesRichTextItem
Set doc = Source.Document
Set rtitem = doc.GetFirstItem(
"rtfield" )
Dim text As String
text$ =
Source.FieldGetText("rtfield")
trimmed$ = Trim(text)
If(doc.Hasembedded) Then
Continue = True
Elseif ( trimmed$ = "")
Then
Msgbox "Please enter
some text."
Continue = False
source.GotoField("rtfield")
source.Refresh(True)
Else
Continue = True
End If
End Sub
|
This code will work if there is an attachment anywhere in the document, even if it's not in the field that is being validated.