getValidator method
Implementation
String? getValidator(String fieldName) {
final editorItem = getEditorItemByFieldName(fieldName);
if (editorItem == null) return null;
String? check = checkMinMax(editorItem);
if (check != null) {
return check;
}
bool isRequired = editorItem.isRequired;
String title = editorItem.title ?? '';
if (title.isNotEmpty && !isRequired) {
isRequired = title.startsWith('*') || title.endsWith('*');
}
if (!isRequired) return null;
if (editorItem.validator != null) {
return editorItem.validator?.call(dataEntity[fieldName]);
}
switch (editorItem.type) {
case EEditorType.image:
return _validateImage(fieldName)
? null
: editorItem.invalidMessage ?? invalidMessage;
case EEditorType.string:
return _validateString(fieldName)
? null
: editorItem.invalidMessage ?? invalidMessage;
case EEditorType.phone:
return Methods.validPhoneNumber(dataEntity[fieldName] as String)
? null
: editorItem.invalidMessage ?? invalidPhone;
case EEditorType.email:
return (dataEntity[fieldName] as String).isEmail
? null
: _getInvalidEmailValidator(editorItem);
case EEditorType.int:
return dataEntity[fieldName] != null
? null
: editorItem.invalidMessage ?? invalidMessage;
case EEditorType.double:
return dataEntity[fieldName] != null
? null
: editorItem.invalidMessage ?? invalidMessage;
case EEditorType.money:
return _validateMoney(fieldName)
? null
: editorItem.invalidMessage ?? invalidMessage;
case EEditorType.datetime:
return _validateDateTime(fieldName)
? null
: editorItem.invalidMessage ?? invalidMessage;
case EEditorType.name:
return _validateString(fieldName)
? null
: editorItem.invalidMessage ?? invalidMessage;
default:
return dataEntity[fieldName] != null
? null
: editorItem.invalidMessage ?? invalidMessage;
}
}