validator validar formulario form custom validation parameters angular

validation - validar - Validador personalizado Angular 2 con parámetros.



validar formulario angular 4 (2)

Aquí hay una muestra. Es un validador de valor mínimo donde se pasa un número para validar.

import {Control} from ''angular2/common''; export const minValueValidator = (min:number) => { return (control:Control) => { var num = +control.value; if(isNaN(num) || num < min){ return { minValue: {valid: false} }; } return null; }; };

Se pueden encontrar más detalles en la página de documentación oficial de Validadores personalizados .

¿Cómo creo que digamos mi propio validador maxLength en Angular 2? Todos los ejemplos que pude encontrar usan validadores similares a ''requerido'', lo que significa que ya conocen las reglas. Sólo aceptan un parámetro: el control en sí. ¿Cómo paso más parámetros?

Aquí está el validador de muestra que tengo. ¿Cómo lo modifico para pasar el número 5 como parámetro?

export class MyValidators { static minValue(control:Control): {[s: string]: boolean} { var num = +control.value; if (isNaN(num) || num < 5 ) { return {"minValue": true}; } return null; } }

Gracias.


El ejemplo de minValueValidator básicamente muestra que puedes usar una fábrica para tu validador personalizado, por lo que será algo como esto:

static minValue = (num: Number) => { return (control:Control) => { var num = control.value; if (isNaN(num) || num < 5 ) { return {"minValue": true}; } return null; } }

En mi caso utilizo FormControl no Control

import { FormControl } from ''@angular/forms'';