Überprüfen, ob ein Angular2 form gültig ist oder nicht innerhalb der Komponente

Ich versuche zu prüfen, ob ein Formular gültig ist oder nicht, verhindern die weitere Ausführung, wenn es nicht ist.

Hier ist mein Fragebogen:

<form (ngSubmit)="updateFirstName(firstNameForm)" #firstNameForm="ngForm" novalidate>
    <div class="form-group" ng-class="getCssClasses(formCtrl, formCtrl.firstName)">
        <div class="input-group">
            <input type="text"
                   ngControl="firstName"
                   #firstName="ngForm"
                   required
                   minlength="2"
                   maxlength="35"
                   pattern_="FIRST_NAME_PATTERN"
                   [ngModel]="currentUserAccount?.firstName"
                   (ngModelChange)="currentUserAccount ? currentUserAccount.firstName = $event : null"
                   placeholder="{{'FIRST_NAME_FORM.NEW_FIRST_NAME'| translate }}"
                   class="form-control"/>
        </div>

        <div [hidden]="firstName.valid">
            <div *ngIf="firstName?.errors?.minlength" class="control-label">{{'FIRST_NAME_FORM.MIN_LENGTH'| translate}}</div>
        </div>
    </div>
    <div class="form-group">
        <button type="submit" class="btn btn-primary pull-right" [disabled]="buttonDisabled">{{'FIRST_NAME_FORM.SUBMIT'| translate}}</button>
        <a [routerLink]="['/dashboard/useraccount']" class="btn btn-link pull-right text-right">{{'FORM_CANCEL' | translate}}</a>
    </div>
</form>

Jedoch, wenn ich behaupte, dass ein ungültig-Formular -, Bemerke ich in der Konsole, in der das Attribut gültig von NgForm ist true...

 updateFirstName(firstNameForm) {
   console.log(firstNameForm);//the valid attribute of firstNameForm is true...
 }

Kann jemand bitte lassen Sie mich wissen, warum dies der Fall ist?

  • Ist es gewollt, dass pattern im pattern_="FIRST_NAME_PATTERN" hat eine zusätzliche _? Was ist formCtrl? ng-class sollte [ngClass]
  • Ja, ich bin bei der Migration eines ng1 app und ich nehme an, diese pattern_ und ng-class werden einfach ignoriert.
  • Ja, Sie sind einfach ignoriert.
InformationsquelleAutor balteo | 2016-05-15
Schreibe einen Kommentar