Gathering detailed insights and metrics for react-form-validator-cl
Gathering detailed insights and metrics for react-form-validator-cl
Gathering detailed insights and metrics for react-form-validator-cl
Gathering detailed insights and metrics for react-form-validator-cl
Un simple componente React que permite crear formularios con validaciones.
npm install react-form-validator-cl
Typescript
Module System
Node Version
NPM Version
74.6
Supply Chain
99
Quality
75.4
Maintenance
100
Vulnerability
100
License
JavaScript (60.18%)
CSS (36.33%)
HTML (3.49%)
Built with Next.js • Fully responsive • SEO optimized • Open source ready
Total Downloads
3,135
Last Day
1
Last Week
5
Last Month
45
Last Year
427
26 Commits
2 Branches
1 Contributors
Updated on Feb 19, 2019
Latest Version
0.1.4
Package Id
react-form-validator-cl@0.1.4
Unpacked Size
679.85 kB
Size
329.12 kB
File Count
28
NPM Version
6.4.1
Node Version
10.7.0
Cumulative downloads
Total Downloads
Last Day
0%
1
Compared to previous day
Last Week
150%
5
Compared to previous week
Last Month
462.5%
45
Compared to previous month
Last Year
47.8%
427
Compared to previous year
5
Un simple componente React que permite crear formularios con validaciones.
Usarlo en un desarrollo en React
Instálalo a traves de npm:
$ npm install react-form-validator-cl
import React from "react";
import ReactDOM from "react-dom";
import Form from "react-form-validator-cl";
const fields = [
{
legend: "Nombre*",
type: "text",
name: "nombre",
placeholder: "Ej. Juan",
autocomplete: "off",
validate: {
types: ["required", "text"],
rules: { min: 3, max: 10 },
error: "Debes completar el nombre (mínimo 3, máximo 10)"
}
},
{
legend: "Rut*",
type: "text",
name: "rut",
placeholder: "Ej. 11111111-1",
autocomplete: "off",
validate: {
types: ["required", "rut"],
error: "Debes ingresar un rut válido"
}
},
{
legend: "Teléfono",
type: "tel",
name: "telefono",
placeholder: "Ej. 912345678",
autocomplete: "off",
validate: {
types: ["tel"],
error: "Debes ingresar un teléfono válido"
}
},
{
legend: "Correo electrónico*",
type: "email",
name: "email",
placeholder: "Ej. nombre@micorreo.cl",
autocomplete: "off",
validate: {
types: ["required", "email"],
error: "Debes ingresar un correo electrónico válido"
}
},
{
legend: "Switch*",
type: "checkbox",
name: "switch",
validate: {
types: ["checkbox"],
error: "Debes seleccionar el checkbox"
}
},
{
legend: "Select prueba",
type: "select",
name: "opciones",
options: [
{ text: "Seleccione", value: -1 },
{ text: "Opcion #1", value: 1 },
{ text: "Opcion #2", value: 2 },
{ text: "Opcion #3", value: 3 }
],
validate: {
types: ["required", "select"],
error: "Debes seleccionar una opción"
}
},
{
legend: "Comentario",
type: "textarea",
name: "comentario",
placeholder: "Escriba aquí su comentario",
autocomplete: "off",
rows: 5,
validate: {
types: ["text"],
rules: { min: 3, max: 150 },
error: "Debes completar el nombre (mínimo 3, máximo 150)"
}
}
];
const colorFormCss = [
{ fontColor: "#9a9a9f" },
{ primaryColor: "#2979ff" },
{ errorColor: "#dd2c00" },
{ backgroundColor: "#fff" }
];
const style = {
maxWidth: '340px'
};
const sendFunc = dataForm => {
console.log(dataForm);
return true;
};
ReactDOM.render(
<div style={style}>
<Form
colors={colorFormCss}
distinctFieldsMsg={"Campos obligatorios (*)"}
autoComplete={"off"}
fields={fields}
sendFunc={sendFunc}
errorMsg={"No se ha podido enviar el formulario"}
error={false}
/>
</div>,
document.getElementById("root")
);
El componente Form, permite los siguientes parámetros:
fontColor: color para fuente
primaryColor: color para cabezera y botón
errorColor: color para error
backgroundColor: color de fondo
distinctFieldsMsg: Mensaje para campos obligatorios
sendFunction: Función que se ejecuta al enviar el formulario.
errorMsg: Mensaje de error, se suele usar para errores con el servidor
error: Si el formulario tiene o no error
fields: Array con objetos de campos del formulario
El componente form tiene un ancho de 100%, el cual se adapta al contenedor padre en el que se agregue
<Form
fontColor="gray"
primaryColor="blue"
distinctFieldsMsg={"Campos obligatorios (*)"}
autoComplete={"off"}
fields={fields}
sendFunc={sendFunc}
errorMsg={"ERRORORRO"}
error={false}
/>
legend: Título del campo
type: Tipo de campo
name: Nombre del campo
placeholder: Placeholder del campo
autocomplete: autocomplete personalizado por campo
validate: Objeto con parámetros de validacion
{
legend: "Comentario",
type: "textarea",
name: "comentario",
placeholder: "Escriba aquí su comentario",
autocomplete: "off",
rows: 5,
validate: {
types: ["text"],
rules: { min: 3, max: 150 },
error: "Debes completar el nombre (mínimo 3, máximo 150)"
}
}
types: Array con parámetros para saber si es requerido y el tipo de validación que se necesita
rules: Reglas de la validación
error: Mensaje de error para el campo
Existen distintos tipos de validaciones según el campo
{
legend: "Nombre*",
type: "text",
name: "nombre",
placeholder: "Ej. Juan",
autocomplete: "off",
validate: {
types: ["required", "text"],
rules: { min: 3, max: 10 },
error: "Debes completar el nombre (mínimo 3, máximo 10)"
}
}
{
legend: "Rut\*",
type: "text",
name: "rut",
placeholder: "Ej. 11111111-1",
autocomplete: "off",
validate: {
types: ["required", "rut"],
error: "Debes ingresar un rut válido"
}
{
legend: "Teléfono",
type: "tel",
name: "telefono",
placeholder: "Ej. 912345678",
autocomplete: "off",
validate: {
types: ["tel"],
error: "Debes ingresar un teléfono válido"
}
}
{
legend: "Correo electrónico*",
type: "email",
name: "email",
placeholder: "Ej. nombre@micorreo.cl",
autocomplete: "off",
validate: {
types: ["required", "email"],
error: "Debes ingresar un correo electrónico válido"
}
}
{
legend: "Switch*",
type: "checkbox",
name: "switch",
validate: {
types: ["checkbox"],
error: "Debes seleccionar el checkbox"
}
}
Siempre debe tener una opción de Selección con valor "-1"
{
legend: "Select prueba",
type: "select",
name: "opciones",
options: [
{ text: "Seleccione", value: -1 },
{ text: "Opcion #1", value: 1 },
{ text: "Opcion #2", value: 2 },
{ text: "Opcion #3", value: 3 }
],
validate: {
types: ["required", "select"],
error: "Debes seleccionar una opción"
}
}
{
legend: "Comentario",
type: "textarea",
name: "comentario",
placeholder: "Escriba aquí su comentario",
autocomplete: "off",
rows: 5,
validate: {
types: ["text"],
rules: { min: 3, max: 150 },
error: "Debes completar el nombre (mínimo 3, máximo 150)"
}
}
No vulnerabilities found.