虫虫技术在线--技术决定出路

当前位置: 首页 > 办公 > Lotus >

在 Lotus Notes 中验证富文本域

时间:2010-02-19 21:31来源:未知 作者:admin 点击:
该技巧描述了三种在 Lotus Notes 中验证富文本输入域的快速方法。第一种方法验证的文本域中,任何文本(包括单个空格字符)都是可接受的输入。第二种方法验证的域中,要求至少有一

  该技巧描述了三种在 Lotus Notes 中验证富文本输入域的快速方法。第一种方法验证的文本域中,任何文本(包括单个空格字符)都是可接受的输入。第二种方法验证的域中,要求至少有一个非空格文本。第三种方法验证的域中,可以不包含文本,但是可能包含附件、嵌入式对象或者链接。本文假设您具有使用 Domino Designer 和 LotusScript 开发应用程序的经验。

  方法 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 中的任何字符。只要域中包含输入(哪怕它只是包含一个或多个空格字符),验证就会成功。如果域为空,则代码返回错误消息,并且不保存文档(通过将 Continue 设置为 False)。

  方法 2

  在第二种方法中,富文本域必须至少包含一个非空格字符(换句话说,只包含一个或多个空格的输入是不允许的)。该检查也使用表单的 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

  第三种方法验证的富文本中,只包含一个附件、嵌入式对象或者链接的输入是允许的,即使它不包含相应的文本。同样,还是使用包含域的表单的 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

  如果文档的任何地方有一个附件,即使它不在所验证的域中,该代码也会工作。

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容