dynamicValidate static method
dynamic
dynamicValidate({})
Implementation
static dynamic dynamicValidate(
{required dynamic text,
required dynamic fieldname,
required int minLength,
required int maxLength,
required bool mandatory,
required dynamic regex,
required bool fromdropdown,
required bool fromTextfield}) {
fieldname = fieldname?.toString().trim() ?? '';
final trimmedText = text?.toString().trim();
bool initCondition = trimmedText != null &&
trimmedText.isNotEmpty &&
(fromdropdown
? text != ConstantName.dropDownSelect
? true
: false
: true);
if (mandatory) {
if (initCondition) {
if (fromTextfield &&
((minLength != 0 && trimmedText.length < minLength) ||
(maxLength != 0 && trimmedText.length > maxLength))) {
return "Please enter a valid $fieldname";
}
if (RegExp(regex).hasMatch(trimmedText)) {
return null;
} else {
return "Please enter a valid $fieldname";
}
}
return "Please enter the $fieldname";
} else if (initCondition) {
if (fromTextfield &&
((minLength != 0 && trimmedText.length < minLength) ||
(maxLength != 0 && trimmedText.length > maxLength))) {
return "Please enter a valid $fieldname";
}
if (RegExp(regex).hasMatch(trimmedText)) {
return null;
} else {
return "Please enter a valid $fieldname";
}
}
}