O
oxystile
где надо че дописать, чтобы при попытке поставить в поле типа "Number" не число программа не давала сохранить, пока пользователь поле не исправит
заранее спасибо!
заранее спасибо!
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
IsNumeric(doc.[твое поле])
Если использовать @ToNumber, то ошибку вернет в любом случае.можно попробовать Input Validation c формулой @textToNumber ( обработать ошибку ), НО! @TextToNumber вернёт 123 если в поле написать "123йцу" , и вернёт ошибку если "йцу123" ... так что можно добавить исчо Input Translation @TextToNumber( @thisValue)
Случайно в другом месте сохранения нет? В QuerySave?-я ввожу в поле букви, нажимаю сохранить получаю сообщение "Ошибка" , закрываю
открываю снова этот док и в поле запись "ERROR: Cannot convert text to a number"
т.е. что-то не так..ошибку выдает, но значение как бы сохраняет
If doc.GetItemValue("myField")(0) <> "" Then
If Not Isnumeric(doc.GetItemValue("myField")(0)) Then
Msgbox "Поле " & Chr(34) & "ПОЛЕ" & Chr(34) & " должно содержать числовое значение!", 48, "Ошибка"
source.GotoField("myField")
End If
End if
или так или emptyIf doc.GetItemValue("myField")(0) <> "" Then
Medevic
@If(@IsDocBeingSaved & @IsError(@ToNumber(@ThisValue)); @Failure("Ошибка"); @Success)
-я ввожу в поле букви, нажимаю сохранить получаю сообщение "Ошибка" , закрываю
открываю снова этот док и в поле запись "ERROR: Cannot convert text to a number"
т.е. что-то не так..ошибку выдает, но значение как бы сохраняет
Function ValidateNumericFlds(doc As NotesDocument) As Integer
On Error Goto Errh
Dim rv As Integer
rv = True
lsf_ValidateNumericFlds = rv
Dim NumFlds List As String
NumFlds("FLD_NAME_1") = "LABEL_1"
NumFlds("FLD_NAME_2") = "LABEL_2"
Dim V As Variant
Dim VEmpty As Variant
Dim IsError As Integer
Forall x In NumFlds
V = VEmpty
IsError = False
On Error Resume Next
V = doc.GetItemValue(Listtag(x))(0)
On Error Goto Errh
If Not Isempty(V) Then IsError = Not Isnumeric(V) Else IsError = True
If IsError Then
Messagebox {Ой бяда, ребятушки! В поле "} + x + {" какое-то гогно!}, 0 + 16, "Бяда"
rv = False
Exit Forall
End If
End Forall
lsf_ValidateNumericFlds = rv
Exit Function
Errh:
Call lsf_ErrorTrack
Exit Function
End Function
V = doc.GetItemValue("NUM_FLD")(0)
V = VEmpty
Обучение наступательной кибербезопасности в игровой форме. Начать игру!