Ich versuche zu überprüfen, ob ein Formular gültig ist oder nicht, um eine weitere Ausführung zu verhindern, wenn dies nicht der Fall ist.Überprüfen, ob ein Angular2-Formular innerhalb der Komponente gültig ist oder nicht
Hier ist meine Form:
<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>
Allerdings, wenn ich eine ungültige Form einreichen, die ich in der Konsole feststellen, dass das gültige Attribut NgForm
true
ist ...
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 absichtlich, dass 'pattern' in' pattern _ = "FIRST_NAME_PATTERN" 'ein zusätzliches' _' hat? Was ist 'formCtrl'? 'ng-class' sollte' [ngClass] 'sein –
Ja ich migriere eine ng1 App und ich nehme an, dass' pattern_' und 'ng-class' einfach ignoriert werden. – balteo
Ja, sie werden einfach ignoriert. –