validaDataInMap method

Future<Map<String, dynamic>> validaDataInMap({
  1. required Map<String, dynamic> esquema,
  2. required Map<String, dynamic> mapaActualizado,
  3. List<String>? lstPrefijosExcluir,
})

Esta funcion recibe un mapa con el esquema y un mapa con los datos y valida la informacion cargada en mapaActualizado valida la data por tipo de dato y por las expresiones cargadas en en el campo validationCode del esquema si el campo validationCode tiene algun valor se realiza la validacion:

  • regexp('expresion regular') valida la informacion con una expresion regular si no posee ningun valor cargado en validationCode y en campoColeccion se realiza un validacion estandar por tipo de dato si es url, entero, decimal, fecha, fechaHora, correo, etc...

el retorno de la funcion es un mapa con la siguiente estructura:

{
 'dataOk': true,
}

si la validacion es correcta

{
'dataNOk': 'NOK',
'error': 'Mensaje de error'
}

si la validacion es incorrecta

Implementation

Future<Map<String, dynamic>> validaDataInMap({
  required Map<String, dynamic> esquema,
  required Map<String, dynamic> mapaActualizado,
  List<String>? lstPrefijosExcluir,
}) async {
  lstPrefijosExcluir ??= <String>[];

  ///si la lista de prefijos a excluir no contiene los valores `_dynamicValue`
  ///los agrego a la lista
  lstPrefijosExcluir.addAll([
    EnvironmentApiRest.dynamicValue,
  ].where((item) => !lstPrefijosExcluir!.contains(item)));

  return await _validaDataInMap(
      esquema: esquema,
      mapaActualizado: mapaActualizado,
      lstPrefijosExcluir: lstPrefijosExcluir);
}