Dinaup.Validations
Comprueba datos fiscales y geográficos en segundos desde tu código
Cuando estás construyendo lógica fiscal, es clave asegurarte de que los datos que recibes del usuario son coherentes. Dinaup ofrece una serie de validaciones listas para usar, divididas en dos áreas principales.
Validaciones de Geo Localización
IsSpanishPostalCode(string postalCode)
IsSpanishPostalCode(string postalCode)Verifica si un código postal pertenece al sistema de códigos postales español. Acepta exactamente 5 dígitos válidos.
Console.WriteLine(ValidationUtils.IsSpanishPostalCode("03201")); // True
Console.WriteLine(ValidationUtils.IsSpanishPostalCode("99999")); // False GetSpainProvinceFromPostalCode(string postalCode)
GetSpainProvinceFromPostalCode(string postalCode)Devuelve el nombre de la provincia asociada a un código postal español. Si no se reconoce, devuelve una cadena vacía.
EditarConsole.WriteLine(ValidationUtils.GetSpainProvinceFromPostalCode("28013")); // Madrid NormalizeLocationName(string name)
NormalizeLocationName(string name)Convierte nombres de ciudades regionales o en lenguas cooficiales al nombre estándar español.
EditarConsole.WriteLine(ValidationUtils.NormalizeLocationName("elx")); // Elche
Console.WriteLine(ValidationUtils.NormalizeLocationName("Bilbo")); // BilbaoSearchCountry(string query)
SearchCountry(string query)Busca países por nombre (en inglés o español), ISO2. Devuelve una lista de coincidencias parciales.
var results = ValidationUtils.SearchCountry("ES");
foreach (var c in results)
{
Console.WriteLine($"{c.ISO2} - {c.ESName} / {c.ENName}");
}
// ES - España / SpainGetCountry(string countryNameOrCode)
GetCountry(string countryNameOrCode)Obtiene un país concreto por ISO o nombre. Útil cuando ya se tiene el identificador o el país escrito completo.
var spain1 = ValidationUtils.GetCountry("ES");
Console.WriteLine($"{spain1.ISO2} - {spain1.ENName}"); // ES - Spain
var spain2 = ValidationUtils.GetCountry("España");
Console.WriteLine($"{spain2.ISO2} - {spain2.ENName}"); // ES - SpainIsEuCountryCode(string isoCode)
IsEuCountryCode(string isoCode) Devuelve true si el código ISO de país pertenece a la Unión Europea. La comparación no distingue mayúsculas.
Console.WriteLine(ValidationUtils.IsEuCountryCode("DE")); // True
Console.WriteLine(ValidationUtils.IsEuCountryCode("US")); // False Validaciones de NIF / VAT
IsVIESVatFormat(string vatID)
IsVIESVatFormat(string vatID)Valida si el NIF está en un formato aceptado por el sistema VIES. Solo valida estructura, no existencia.
Console.WriteLine(ValidationUtils.IsVIESVatFormat("ES123456789")); // True
Console.WriteLine(ValidationUtils.IsVIESVatFormat("US123456789")); // FalseIsSpanishBusinessNIFFormat(string vatID)
IsSpanishBusinessNIFFormat(string vatID)Valida si un NIF tiene formato de empresa española. Es una validación débil pensada para autocompletado o sugerencias.
Console.WriteLine(ValidationUtils.IsSpanishBusinessNIFFormat("B12345678")); // True
Console.WriteLine(ValidationUtils.IsSpanishBusinessNIFFormat("X1234567")); // FalseCheckVATViesAsync(session, vatID) (async)
CheckVATViesAsync(session, vatID) (async)Consulta a VIES si un NIF está dado de alta como operador intracomunitario. Necesita una sesión Dinaup válida.
var result = await dinaupClient.CheckVATViesAsync(dinaupClient.DefaultSession, "ESB09689647");
Console.WriteLine(result.Value); // True CheckVATAEATAsync(session, vatID, name) (async)
CheckVATAEATAsync(session, vatID, name) (async)Consulta a la AEAT si el NIF y el nombre coinciden. Útil para validación de facturas en España.
var result = await dinaupClient.CheckVATAEATAsync(dinaupClient.DefaultSession, "74381925V", "Angel Albaladejo Belmonte");
Console.WriteLine(result.Identificado); // TrueClassifyVatTerritoriality(vatID, countryCode, postalCode, isVies)
ClassifyVatTerritoriality(vatID, countryCode, postalCode, isVies)Clasifica la operación fiscal según el lugar de tributación del IVA: nacional, exportación, intracomunitaria, etc.
var tipo = ValidationUtils.ClassifyVatTerritoriality("B12345678", "ES", "03201", false);
Console.WriteLine(tipo); // National
var tipo2 = ValidationUtils.ClassifyVatTerritoriality("DE267602842", "DE", "81549", true);
Console.WriteLine(tipo2); // IntraCommunityTipos posibles:
Unknown
Simplified
National
OutOfVatTerritory
IntraCommunity
OneStopShop
Export
Última actualización