ValidaThor 2.1.0
dotnet add package ValidaThor --version 2.1.0
NuGet\Install-Package ValidaThor -Version 2.1.0
<PackageReference Include="ValidaThor" Version="2.1.0" />
paket add ValidaThor --version 2.1.0
#r "nuget: ValidaThor, 2.1.0"
// Install ValidaThor as a Cake Addin #addin nuget:?package=ValidaThor&version=2.1.0 // Install ValidaThor as a Cake Tool #tool nuget:?package=ValidaThor&version=2.1.0
ValidaThor
ValidaThor es una biblioteca que ofrece distintos tipos de comprobaciones de datos.
Instalación
Usa el administrador de paquetes nuget para realizar la instalación.
Idiomas disponibles
Los mensajes de validación están disponibles en más de 60 idiomas diferentes. Se usan las mismas traducciones de laravel. Los mensajes fuerón transcritos de manera automática, así que es posible que presenten errores. Ya no se hace uso de archivos JSON, los mensajes de error están directamente en el código.
Uso
using ValidaThor;
Validathor validathor = new Validathor("es");
validathor.Cadena("name", "J0n").Required().Alpha().Min(3).Max(10);
validathor.Numero("age", 16).Required().Min(18);
if(validathor.Fails()){
foreach(var error in validathor.Errors()){
Console.WriteLine(error);
}
foreach(var field in validathor.ErrorsPerField()){
Console.WriteLine(field.Name);
foreach(var error in field.Errors){
Console.WriteLine(error);
}
}
}
// Elimina los mensajes de validación previos.
validathor.Clear();
AspNet Core
//Startup.cs
using ValidaThor;
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IValidathor>(new Validathor("es"));
}
//Controlador
private readonly ILogger<WeatherForecastController> _logger;
private readonly IValidathor _validathor;
public WeatherForecastController(ILogger<WeatherForecastController> logger, IValidathor validathor)
{
_logger = logger;
_validathor = validathor;
}
[HttpGet]
public ActionResult Get()
{
var rand = new Random();
_validathor.Numero("numero", rand.Next(5, 10)).Min(11).Max(20);
_validathor.Numero("numero_2", rand.Next(5, 10)).Min(11).Max(20);
return Ok(_validathor.ErrorsPerField());
}
Lanzando una excepción
[Test]
public void FirstError()
{
try
{
var validathor = new Validathor("es");
validathor.Cadena("Nombre", "J0hn").Alpha();
validathor.Fail(true);
}
catch(ValidathorException ex)
{
var fields = ex.Fields;
var errors = ex.Errors;
Console.WriteLine(ex.Message);
}
}
Validaciones disponibles
String
Accepted
Comprueba que el valor evaluado sea "yes", "on" o "true".
ActiveUrl
Comprueba que el valor sea una URL accesible.
Alpha
El valor debe estar compuesto unicamente por caracteres alfabéticos.
AlphaDash
El valor debe estar compuesto unicamente por caracteres alfabéticos, guion bajo, guion medio y números.
AlphaNum
El valor debe estar compuesto unicamente por caracteres alfanuméricos.
Boolean
El valor debe ser "true" o "false".
Between
La longitud del valor debe estar entre un rango.
Confirmed
Comprueba que el valor se igual a otro usado como confirmación.
Decilned
El valor debe ser "no", "false" u "off".
Different
Comprueba que el valor sea diferente a un valor campo de referencia.
El valor debe ser un email.
EndsWith
El valor debe terminar con uno de los elementos de la lista.
Gt
El valor debe tener una longitud mayor a la de un campo de referencia.
Gte
El valor debe tener una longitud mayor o igual a la de un campo de referencia.
In
El campo debe estar dentro de una lista de valores permitidos.
Integer
El campo debe ser un número entero.
Ip
El campo debe ser una ipv4 o ipv6 valida.
Ipv4
El campo debe ser una ipv4 valida.
Ipv6
El campo debe ser una ipv6 valida.
Json
El campo debe ser una JSON valido.
Lt
El valor debe tener una longitud menor a la de un campo de referencia.
Lte
El valor debe tener una longitud menor o igual a la de un campo de referencia.
Max
El valor debe tener una longitud menor o igual a la indicada.
Min
El valor debe tener una longitud mayor o igual a la indicada.
NotIn
El campo no debe estar dentro de una lista de valores.
NotRegex
El campo no debe cumplir con el patrón.
NotRegex
El campo no debe cumplir con el patrón.
Nullable
Permite que el campo sea nulo.
Numeric
Permite que el campo debe ser un número.
Regex
El campo debe cumplir con el patrón.
Required
El campo no debe ser nulo y debe tener una longitud de al menos 1 carácter.
Same
El campo debe coincidir con un valor dado.
StartsWith
El campo debe comenzar con un valor de la lista.
Size
El campo debe tener una longitud fija.
Url
El campo debe ser una url.
DateTime
After
El campo debe ser una fecha mayor a una fecha dada.
AfterOrEqual
El campo debe ser una fecha mayor o igual a una fecha dada.
After
El campo debe ser una fecha menor a una fecha dada.
AfterOrEqual
El campo debe ser una fecha menor o igual a una fecha dada.
AfterOrEqual
El campo debe ser una fecha menor o entre un rango.
Confirmed
El campo debe ser una fecha igual a un campo de confirmación.
Different
El campo debe ser una fecha distinta a un campo de referencia.
Nullable
Permite que el campo sea nulo.
Required
El campo es obligatorio.
Same
El campo debe coincidir con un valor dado.
List<T>
Between
El campo debe tener un cantidad de elementos dentro de un rango dado.
Confirmed
El campo debe tener ser igual a una lista de dada.
Distinct
El campo debe tener ser diferente a una lista dada.
Different
El campo debe tener ser diferente a un campo dado.
Max
El campo no debe superar máximo de elementos especificado.
Min
El campo no debe ser inferior mínimo de elementos especificado.
Nullable
Permite que el campo sea nulo.
Required
El campo es obligatorio.
Same
El campo debe coincidir con un valor dado.
Numeric (int, float, double, decimal)
Between
El campo debe tener un valor dentro de un rango dado.
Confirmed
El campo debe tener ser igual a un número dado.
Distinct
El campo debe tener ser diferente a un número dado.
Different
El campo debe tener ser diferente a un número dado.
Max
El campo no debe superar un valor máximo especificado.
Min
El campo no debe ser inferior un valor mínimo especificado.
Same
El campo debe coincidir con un valor dado.
Idiomas disponibles
Los mensajes de validación están disponibles en más de 60 idiomas diferentes. Se usan las mismas traducciones de laravel. Los mensajes fuerón transcritos de manera automática, así que es posible que presenten errores.
Contacto
Cualquier duda, sugerencia, pregunta y/o amenaza de muerte aquí
Licencia
Icono tomado de Darius Dan
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Elimina los mensajes de validacion al lanzar la excepción.