Ola
Let's add form validation. This is a process of ensuring that whatever is entered by users is valid.
We accept isEmail, isNumber, isChecked, isNotEmpty.
Let's create a form with some default settings...
We want the labels to be on top, the labelwidth to be 140 and the bottomPadding to be 18px. BottomPadding is where our hints/error messages will sit.
We then add the various input elements needed to the form and add them to the rows of the form.
This includes required *, hint texts, valid parameters and invalid message settings.
We also add a button to submit the data. On submit, the form should be validated.
On clicking the button we want to call 'form_validate', this validates the form and provides a success / error message.
Ta!
Let's add form validation. This is a process of ensuring that whatever is entered by users is valid.
We accept isEmail, isNumber, isChecked, isNotEmpty.
Let's create a form with some default settings...
B4X:
Dim form1 As WixForm
'initialize form and make it accept names with dots (.)
form1.Initialize("form1").SetComplexData(True).SetScroll(False)
form1.SetWidth(350).SetMargin(3)
'set default settings
form1.Form.SetDefaultLabelPosition("top") 'labels on top
form1.Form.SetDefaultLabelWidth(140) 'fix label width
form1.Form.SetDefaultBottomPadding(18) 'padding at bottom for msg
We want the labels to be on top, the labelwidth to be 140 and the bottomPadding to be 18px. BottomPadding is where our hints/error messages will sit.
We then add the various input elements needed to the form and add them to the rows of the form.
B4X:
form1.Form.CreateTextBox("").SetLabel("Username").SetRequired(True).SetBottomLabel("* spaces are allowed").SetName("user.name").SetPlaceHolder("e.g. John Smith)").SetValidateIsNotEmpty(True).SetInvalidMessage("Login cannot be empty").AddToRows(form1.Form)
form1.Form.CreateTextBox("").SetLabel("Email address").SetRequired(True).SetName("user.email").SetPlaceHolder("(e.g. [email protected])").SetValidateIsEmail(True).SetInvalidMessage("Incorrect email address").AddToRows(form1.Form)
form1.Form.CreateTextBox("").SetLabel("Password").SetTypePassword("").SetRequired(True).SetName("user.password").SetBottomLabel("* The password must have at least 6 characters").SetValidateIsNotEmpty(True).SetInvalidMessage("Password cannot be empty").AddToRows(form1.Form)
form1.Form.CreateTextBox("").SetLabel("OTP").SetRequired(True).SetName("user.otp").SetValidateIsNumber(True).SetInvalidMessage("OTP should be a number").AddToRows(form1.Form)
form1.Form.CreateCheckBox("").SetLabelRight("I accept terms of use").SetName("user.accept").SetValidateIsChecked(True).SetInvalidMessage("Must be checked").AddToRows(form1.Form)
This includes required *, hint texts, valid parameters and invalid message settings.
We also add a button to submit the data. On submit, the form should be validated.
B4X:
Dim cb As BANanoObject = BANano.CallBack(Me, "form_validate", Null)
form1.Form.CreateButton("").SetValue("Submit").SetAlignCenter("").SetWidth(150).SetClick(cb).AddToRows(form1.Form)
'
pg.AddRows(form1.Item)
'
pg.ui
On clicking the button we want to call 'form_validate', this validates the form and provides a success / error message.
B4X:
Sub form_validate()
Dim bv As Boolean = pg.Validate("form1")
If bv Then
pg.Message_Success("Perfect!")
Else
pg.Message_Error("Invalid form!")
End If
End Sub
Ta!