-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Yves Kalume edited this page Dec 1, 2023
·
2 revisions
A validable represents your field, it contains the text, error message and rules of the field.
By default we have two validables
Required field
val nameField = remember { NotEmptyValidable() }
val emailField = remember { EmailValidable() }
myfield.value // returns the text
myfield.errorMessage // returns the error (null if the field is valid)
myfield.hasError() // return false if the field is valid, return true if it is not valid
text fields can be submitted with a withValidable
block such as :
// pass the field to the withValidable block
withValidable(emailField) {
// will be executed if all fields are valid
}
if you have multiple text fields it will look like this:
// pass all fields to the withValidable block
withValidable(field1,field2,field3) {
}
you can create your custom validables, for that your class will have to extend BaseValidable
which takes two functions as parameters
class MyCustomValidable : BaseValidable(validator = ::isFieldValid, errorFor = ::fieldValidationError)
private fun isFieldValid(text: String): Boolean {
return text.isNotBlank() // the condition that must be met
}
private fun fieldValidationError(text: String) : String {
return "This field is required" // the error message that will be displayed
}
this last one will be used like the other validables
val myField = remember { MyCustomValidable() }