B4J Question Validate TextField Entry

BPak

Active Member
Licensed User
Longtime User
Is there a way of validating a TextField Entry as it is entered from the Keyboard.

For example: To only accept Alphabetical input
or to only receive numbers
or decimal numbers into the Textfield?
 
There isn't an InputType property like in B4A. You can create a Password Field with the scene builder and then treat it as a TextField.

Here is what I worked out for Text.. Not perfect but works for me.

Sub TrackEd_TextChanged (Old As String, New As String)
Dim len As Int
Dim chr1 As Char

If Old.ToUpperCase = New Then Return ' exits upper case change

len = New.Length
If len > 0 Then
New = New.ToUpperCase
For i = 0 To len-1
chr1 = New.CharAt(i)
If "ABCDEFGHIJKLMNOPQRSTUVWXYZ".Contains(chr1) = False Then
len = Old.Length
TrackEd.Text = Old
TrackEd.SetSelection(len, len)
Return
End If
Next
Else
TrackEd.Text = ""
Return
End If

TrackEd.Text = New ' text changed to upper case
TrackEd.SetSelection(len, len)
End Sub
 
Upvote 0
Back
Top