简体   繁体   English

angular2验证器错误:模板解析错误:(…)

[英]angular2 Validator Error: Template parse errors:(…)

I have problem. 我有问题。 In console i can see "Error: Template parse errors:(…)". 在控制台中,我可以看到“错误:模板解析错误:(…)”。 I'm use: 我正在使用:

"@angular/common": "2.0.0-rc.6", “ @ angular / common”:“ 2.0.0-rc.6”,

"@angular/compiler": "2.0.0-rc.6", “ @ angular / compiler”:“ 2.0.0-rc.6”,

"@angular/core": "2.0.0-rc.6", “ @ angular / core”:“ 2.0.0-rc.6”,

My form looks like 我的表格看起来像

    <form name="authForm" novalidate="" ng-submit="login()" class="md-padding" [ngFormModel]="form">
        <div layout="column" class="layout-column">
            <div class="md-form" style="margin-bottom: 64px; margin-top: 20px">
                <input ngControl="" class="mdl-textfield__input" [(ngModel)]="user.number" name="number" type="tel" (focus)="focus()" (blur)="focusOut()" [textMask]="{mask: mask}" id="number" required ngControl="number" #number="ngForm">
                <label class="mdl-textfield__label" [class.active]="user.number != null" for="number">Numer telefonu</label>
            </div>
            <div *ngIf="!number.valid" class="alert alert-danger">
                <span>Cos nei halo</span>
            </div>
            <div class="md-form" style="margin-bottom: 44px">
                <input class="mdl-textfield__input" [(ngModel)]="user.password" name="password" (focus)="focusPass()" (blur)="focusOutPass()" type="password" id="passInput" required>
                <label class="mdl-textfield__label" [class.active]="user.password != null" for="number">Hasło</label>
            </div>
            <a class="router" routerLink="/panel"><button (click)="logIn($event)" class="md-raised md-accent md-button md-ink-ripple " [class.active]="user.password != null && user.number != null" style="width: 320px" type="submit" aria-label="Zaloguj się"><span>Zaloguj się</span></button></a>
        </div>
    </form>

My .ts file 我的.ts文件

    import {Component, Output, EventEmitter} from '@angular/core';
import {AngularFire, FirebaseObjectObservable} from 'angularfire2';
import {Http, Response} from '@angular/http';
import {UserDataService} from '../index';
import {LoginService} from "../login.service";
import { FormBuilder, ControlGroup, Control, Validators, FORM_PROVIDERS, FORM_DIRECTIVES } from 'angular2/common';


/**
 * This class represents the lazy loaded loginComponent.
 */
@Component({
    selector: 'box-login',
    templateUrl: 'login.component.html',
    styleUrls: ['login.component.css'],
})
export class LoginComponent {
    private user = {number: null, password: null};
    private firebaseSession: FirebaseObjectObservable<any>;
    public mask = ['+', /[1-9]/, /\d/, ' ', /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/]

    @Output() notify: EventEmitter<boolean> = new EventEmitter<boolean>();

    form: ControlGroup;

    constructor(private af: AngularFire,private _LoginService: LoginService, private http: Http, private _userDataService: UserDataService, private formnbuilder: FormBuilder) {
        this.form = formnbuilder.group({
            number: ['', Validators.required],
            password: []
        })
    }

i dont know where is problem, im did this the same that another guys, they work, I do not 我不知道问题出在哪里,我和其他人一样,他们都在工作,我不

As per angular change log from angular 2.0.0-rc.6 forms APIs in @angular/common have been removed so importing FORM_DIRECTIVES , FORM_PROVIDERS , FormBuilder from @angular/common will not work. 根据来自角度2.0.0-rc.6的@angular/common表单API的角度更改日志 ,已删除,因此从@angular/common导入FORM_DIRECTIVESFORM_PROVIDERSFormBuilder无效。

Now angular 2.1.2 is released so its better to use latest angular version. 现在发布了angular 2.1.2,因此最好使用最新的angular版本。 you can check angular guides for updating your forms and form validation 您可以查看角度指南以更新表单和进行表单验证

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM