⚠ Deprecated: Legacy
Suggested alternative: ValidaZione
ValidaThor proporciona diferentes reglas para validar los datos entrantes a su aplicación. Los mensajes de error están disponibles en varios idiomas.
$ dotnet add package ValidaThorValidaThor es una biblioteca que ofrece distintos tipos de comprobaciones de datos.
Usa el administrador de paquetes nuget para realizar la instalación.
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.
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();
//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());
}
[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);
}
}
Comprueba que el valor evaluado sea "yes", "on" o "true".
Comprueba que el valor sea una URL accesible.
El valor debe estar compuesto unicamente por caracteres alfabéticos.
El valor debe estar compuesto unicamente por caracteres alfabéticos, guion bajo, guion medio y números.
El valor debe estar compuesto unicamente por caracteres alfanuméricos.
El valor debe ser "true" o "false".
La longitud del valor debe estar entre un rango.
Comprueba que el valor se igual a otro usado como confirmación.
El valor debe ser "no", "false" u "off".
Comprueba que el valor sea diferente a un valor campo de referencia.
El valor debe ser un email.
El valor debe terminar con uno de los elementos de la lista.
El valor debe tener una longitud mayor a la de un campo de referencia.
El valor debe tener una longitud mayor o igual a la de un campo de referencia.
El campo debe estar dentro de una lista de valores permitidos.
El campo debe ser un número entero.
El campo debe ser una ipv4 o ipv6 valida.
El campo debe ser una ipv4 valida.
El campo debe ser una ipv6 valida.
El campo debe ser una JSON valido.
El valor debe tener una longitud menor a la de un campo de referencia.
El valor debe tener una longitud menor o igual a la de un campo de referencia.
El valor debe tener una longitud menor o igual a la indicada.
El valor debe tener una longitud mayor o igual a la indicada.
El campo no debe estar dentro de una lista de valores.
El campo no debe cumplir con el patrón.
El campo no debe cumplir con el patrón.
Permite que el campo sea nulo.
Permite que el campo debe ser un número.
El campo debe cumplir con el patrón.
El campo no debe ser nulo y debe tener una longitud de al menos 1 carácter.
El campo debe coincidir con un valor dado.
El campo debe comenzar con un valor de la lista.
El campo debe tener una longitud fija.
El campo debe ser una url.
El campo debe ser una fecha mayor a una fecha dada.
El campo debe ser una fecha mayor o igual a una fecha dada.
El campo debe ser una fecha menor a una fecha dada.
El campo debe ser una fecha menor o igual a una fecha dada.
El campo debe ser una fecha menor o entre un rango.
El campo debe ser una fecha igual a un campo de confirmación.
El campo debe ser una fecha distinta a un campo de referencia.
Permite que el campo sea nulo.
El campo es obligatorio.
El campo debe coincidir con un valor dado.
El campo debe tener un cantidad de elementos dentro de un rango dado.
El campo debe tener ser igual a una lista de dada.
El campo debe tener ser diferente a una lista dada.
El campo debe tener ser diferente a un campo dado.
El campo no debe superar máximo de elementos especificado.
El campo no debe ser inferior mínimo de elementos especificado.
Permite que el campo sea nulo.
El campo es obligatorio.
El campo debe coincidir con un valor dado.
El campo debe tener un valor dentro de un rango dado.
El campo debe tener ser igual a un número dado.
El campo debe tener ser diferente a un número dado.
El campo debe tener ser diferente a un número dado.
El campo no debe superar un valor máximo especificado.
El campo no debe ser inferior un valor mínimo especificado.
El campo debe coincidir con un valor dado.
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.
Cualquier duda, sugerencia, pregunta y/o amenaza de muerte aquí
Icono tomado de Darius Dan