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'';