Reputation: 95
I am learning flutter and getting so many errors with flutter...
I am trying to get a validation of text fields with the following methods:
validateName() {
String value = '';
if (value.isEmpty) return 'Username is Required.';
final RegExp nameExp = new RegExp(r'^[A-za-zğüşöçİĞÜŞÖÇ ]+$');
if (!nameExp.hasMatch(value))
return 'Please enter only alphabetical characters.';
return value;
}
However, I am getting the above mentioned error on validationFunction in the textformbuilder:
TextFormBuilder(
enabled: !viewModel.loading,
prefix: Feather.user,
hintText: "Username",
textInputAction: TextInputAction.next,
validateFunction: validateName(),
onSaved: (String val) {
viewModel.setName(val);
},
focusNode: viewModel.usernameFN,
nextFocusNode: viewModel.emailFN,
),
Thanks in advance!
Upvotes: 1
Views: 3188
Reputation: 509
validate function is different from your function...so change the function validate name
String validateName(String? value) {
if (value!.isEmpty) return 'Username is Required.';
final RegExp nameExp = new RegExp(r'^[A-za-zğüşöçİĞÜŞÖÇ ]+$');
if (!nameExp.hasMatch(value))
return 'Please enter only alphabetical characters.';
return value;
}
and on the textfield builder...put the validateFunction like this
TextFormBuilder(
validateFunction: validateName,
)
Upvotes: 1