validateInput static method
String?
validateInput(
- String? value,
- bool required,
- String? requiredMessage,
- InputValidator? validator,
Build common validator function for input fields
Implementation
static String? validateInput(
String? value,
bool required,
String? requiredMessage,
model.InputValidator? validator,
) {
if (value == null || value.isEmpty) {
return required
? Utils.translateWithFallback('ensemble.input.required',
requiredMessage ?? 'This field is required')
: null;
}
if (validator != null) {
ValidationBuilder? builder;
if (validator.minLength != null) {
builder = ValidationBuilder().minLength(validator.minLength!,
Utils.translateOrNull('ensemble.input.validation.minimumLength'));
}
if (validator.maxLength != null) {
builder = (builder ?? ValidationBuilder()).maxLength(
validator.maxLength!,
Utils.translateOrNull('ensemble.input.validation.maximumLength'));
}
if (validator.regex != null) {
builder = (builder ?? ValidationBuilder()).regExp(
RegExp(validator.regex!),
validator.regexError ??
Utils.translateWithFallback(
'ensemble.input.validation.invalidInput',
'This field has invalid value'));
}
if (builder != null) {
return builder.build().call(value);
}
}
return null;
}