ヒント

Lotus Notes のリッチ・テキスト・フィールドを検証する

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: ヒント

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:ヒント

このシリーズの続きに乞うご期待。

このヒントには、Lotus Notesのリッチ・テキスト・フィールドを検証する3つの簡単な方法が記載されています。最初の方法では、任意の文字 (1文字のスペース文字を含む) を受け付けるテキスト・フィールドを検証します。2番目の方法では、少なくとも何らかの非スペース文字を入力しなければならないフィールドを検証します。3番目の方法では、文字が含まれないか、添付ファイル、埋め込みオブジェクト、リンクが含まれる可能性のあるフィールドを検証します。このヒントは、Lotus Domino DesignerおよびLotusScriptを使用したアプリケーション開発の経験がある方を対象として書かれています。

方法1

最初の方法では、フィールドに任意の入力があれば (たとえ1文字のスペース文字だけの場合でも)、フィールドは検証を通過します。この検証では、フィールドが存在するフォームのQuerysaveイベントを使用します。この検証を行うLotusScriptのサンプル・コードを以下に示します。

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

このコードは、rtfieldフィールドで任意の文字をチェックします。フィールドに入力がある場合は (たとえ、それが1つまたは複数のスペース文字であっても)、検証は成功します。フィールドが空の場合、コードはエラー・メッセージを返し、文書を保存しません (ContinueをFalseに設定します)。

方法2

2番目の方法では、リッチ・テキスト・フィールドには、少なくとも1文字の非スペース文字が含まれる必要があります (つまり、1つまたは複数のスペースだけで構成される入力は、受け付けません)。この方法も、フォームのQuerysaveイベントを使用します。

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

方法3

3番目の方法では、添付ファイル、埋め込みオブジェクト、またはリンクだけが入力され、文字が含まれないリッチ・テキスト・フィールドを検証します。ここでも、フィールドを含むフォームのQuerysaveイベントを使用します。

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

このコードは、検証するフィールドに添付ファイルが存在しない場合でも、文書内のどこかに添付ファイルがあれば機能します。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Lotus
ArticleID=337904
ArticleTitle=ヒント: Lotus Notes のリッチ・テキスト・フィールドを検証する
publish-date=12202005