Soy nuevo en hacer preguntas, así que por favor sea comprensivo. Tengo una interfaz de USUARIOS
interface USERS { id: Number; name: String; username: String; email: String; }y quiero crear un creador de formularios que (si es posible) haga automáticamente las propiedades que se necesitan. p.ej
registrationForm = this.fb.group({ userName: ['', [Validators.required, Validators.minLength(3), forbiddenNameValidator]], id: [''], name: [''], email: [''],¿Hay alguna manera de que esto pueda suceder? Quiero crear una interfaz más grande y no quiero poner manualmente las propiedades necesarias
Esta es una pregunta abierta en Angular, la forma de implementarlo por defecto vendrá en el futuro. Por ahora lo que podemos hacer para validar el formulario es:
export type IForm<T> = { [K in keyof T]?: any; } interface User { readonly id: number; readonly name: string; readonly username: string; readonly email: string; } var form: IForm<User> = { id: [''], name: [''], username: [''], email: [''], }; this.form = this.fb.group(form);Con esta implementación, al menos arrojará un error cuando la interfaz y el formulario no coincidan. Saludos!