2016-08-25 3 views
0

Я пытаюсь добавить пользовательскую проверку в свою форму, когда включаю '[(ngModel)] = "form"' в свой тег формы. Я начинаю получать ошибку.Angularjs 2 rc 5 form Custom Validation

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}"> 

Но я включил атрибут имени во вход. Я согласен сделать ввод автономной моделью, если бы я мог добавить пользовательскую проверку для отдельного элемента в классе.

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

Машинопись код

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] 
     }); 

    } 

ответ

0

У меня была такая же проблема. По причинам, которые я не понимаю, ngModel больше не играет здесь.

Попробуйте использовать formControlName = "name" вместо