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

Тема в разделе "Lotus - Программирование", создана пользователем Kizarek86, 10 сен 2007.

  1. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    В общем то вроде просто должно быть, может есть какая нибудь функция подходящая для этого.необходимо чтобы в поле содержались только цифры и кирилица, если в поле ввели другие данные, то выводить предупреждение и не сохранять документ.подскажите кто сталкивался)
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Например, так. Собака в Input Validation:
    Код (Text):
    symbList := "0,1,2,3,4,5,6,7,8,9,а,б,в,г,д,е..., А,Б,В,Г,Д...";
    @If(@IsNull(@Trim(@ReplaceSubstring(@ThisValue; @Explode(symbList); @Nothing))); @Success; @Failure("Предупреждение"));
     
  3. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Medevic, очередное спасибо, то что доктор прописал)
     
  4. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    во, при закрытии документа если некорректно введено не сохраняет документ. как сделать чтобы не закрывал документ пока в поле не будут верно данные введены,или чтобы при вводе каждого символа в поле производилась проверка?
     
  5. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    В QueryClose:
    Код (Text):
    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
     
  6. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Medevic, биг спасибо, теперь отлично работает.
     
  7. Mihal

    Mihal Гость

    Можно чуть-чуть покороче (с помощью оператора 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
     
  8. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.291
    Симпатии:
    0
    ужОс..

    Может лучше @Matches(@ThisValue; "+{0-9A-Я}") ?
     
Загрузка...

Поделиться этой страницей