getValidator method

String? getValidator(
  1. String fieldName
)

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;
  }
}