2016-08-25 12 views
0

Ich versuche, eine benutzerdefinierte Validierung zu meinem Formular hinzufügen, wenn ich die '[(ngModel)] = "Form"' in meinem Formular-Tag ich bekomme den Fehler.Angularjs 2 rc 5 form Benutzerdefinierte Validierung

EXCEPTION: Error: Uncaught (in promise): EXCEPTION: Error in  pages/login.component.html:8:7 
ORIGINAL EXCEPTION: If ngModel is used within a form tag, either the name attribute must be set or the form 
    control must be defined as 'standalone' in ngModelOptions. 

    Example 1: <input [(ngModel)]="person.firstName" name="first"> 
    Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}"> 

Aber ich habe das Namensattribut in den Eingang aufgenommen. Ich bin in Ordnung, die Eingabe ein eigenständiges Modell zu machen, wenn ich eine benutzerdefinierte Überprüfung zu einem einzelnen Element in der Klasse hinzufügen könnte.

<div class="loginFormContainer fixedContainer"> 
     <form [(ngModel)]="form" #loginForm="ngForm"> 
      <div class="loginTitle"> 
      Sign in to xxxx 
      </div> 
      <div> 
       <span class="fieldLabel">Login name</span> 
      </div> 
      <input type="text" class="form-control" [(ngModel)]="model.name" name="name" #name="ngModel" class="inputField medium" > 
     <div> 

Typoskript Code

export class LoginComponent 
{ 
    form: ControlGroup; 
    model = new Login("", ""); 

    constructor(
     private route: ActivatedRoute, 
     private router: Router, 
     private loginServ : LoginService, 
     fb:FormBuilder 
    ){ 
     this.form = fb.group({ 
     user:['', Validators.required], 
     pass:['', Validators.required] 
     }); 

    } 

Antwort

0

hatte ich das gleiche Problem. Aus Gründen, die ich nicht verstehe ngModel spielt hier nicht mehr gut.

Verwenden Sie stattdessen forumControlName = "name"

Verwandte Themen