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

このヒントでは、Lotus Notes のリッチ・テキストの入力フィールドを検証する3つの方法を紹介します。

Manish K. Prasad, Software Engineer, IBM

Manish K. Prasad is a Software Engineer with the Groupware team in IBM India. His primary area of interest lies in the security features of Lotus Notes applications.



2005年 12月 20日

このヒントには、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

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

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


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