Проверка данных в поле

Kizarek86

Lotus team
20.07.2007
864
4
#1
В общем то вроде просто должно быть, может есть какая нибудь функция подходящая для этого.необходимо чтобы в поле содержались только цифры и кирилица, если в поле ввели другие данные, то выводить предупреждение и не сохранять документ.подскажите кто сталкивался)
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#2
Например, так. Собака в Input Validation:
Код:
symbList := "0,1,2,3,4,5,6,7,8,9,а,б,в,г,д,е..., А,Б,В,Г,Д...";
@If(@IsNull(@Trim(@ReplaceSubstring(@ThisValue; @Explode(symbList); @Nothing))); @Success; @Failure("Предупреждение"));
 

Kizarek86

Lotus team
20.07.2007
864
4
#4
во, при закрытии документа если некорректно введено не сохраняет документ. как сделать чтобы не закрывал документ пока в поле не будут верно данные введены,или чтобы при вводе каждого символа в поле производилась проверка?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#5
В QueryClose:
Код:
Dim res As Variant
res = Evaluate({symbList := "0,1,2,3,4,5,6,7,8,9,а,б,в,г,д,е..., А,Б,В,Г,Д...";
@IsNull(@Trim(@ReplaceSubstring(поле для проверки; @Explode(symbList); @Nothing)));}, Source.Document)
If Not Cbool(res(0)) Then Continue = False
 
M

Mihal

#7
Можно чуть-чуть покороче (с помощью оператора Like).

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim doc As NotesDocument

Set doc=Source.Document
If Not (doc.Text(0) Like "*[а-яА-Я0-9]") Then
Messagebox "Тольцо цифры и кирилица!"
continue=False
End If

End Sub
 
30.05.2006
1 345
11
#8
Например, так. Собака в Input Validation:
Код:
symbList := "0,1,2,3,4,5,6,7,8,9,а,б,в,г,д,е..., А,Б,В,Г,Д...";
@If(@IsNull(@Trim(@ReplaceSubstring(@ThisValue; @Explode(symbList); @Nothing))); @Success; @Failure("Предупреждение"));
ужОс..

Может лучше @Matches(@ThisValue; "+{0-9A-Я}") ?