Совет: Проверка поля с форматированным текстом в Lotus Notes

Данный совет предлагает три способа проверки полей вода с форматированным текстом (rich text) в Lotus Notes.

Маниш K. Прасад, инженер-программист, IBM

Маниш К. Прасад (Manish K. Prasad) работает инженером-программистом в группе Groupware в IBM India. Сферой его главных интересов являются функциональные возможности системы защиты в приложениях Lotus Notes.



20.12.2005

В данном совете описаны три метода проверки полей с форматированным текстом в 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

Этот код будет работать при наличии вложения где-либо в документе, даже если оно находится не в том поле, которое проверяется.

Ресурсы

Научиться

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Lotus
ArticleID=172194
ArticleTitle=Совет: Проверка поля с форматированным текстом в Lotus Notes
publish-date=12202005