2017-01-23 4 views
1

Ich habe im folgenden Code festgestellt, wenn das Eingabefeld korrekt ausgefüllt ist und ich das Formular abschicke, zeigt es die versteckte Nachricht an. Das Gleiche passiert, wenn ich auf die Seite zurückgehe (nach dem Abschicken) ist das versteckte Feld sichtbar. Aber ich möchte in diesem Fall die Fehlermeldung nicht anzeigen. Wie kann ich das ändern?Versteckte Eigenschaft in * NgIf Direktive

<form #userForm="ngForm"> 
     <ion-item *ngIf="useUser"> 
     <ion-label style="font-size: 12px" stacked>Username:</ion-label> 
     <ion-input type="text" [(ngModel)]="user"name="username" #username="ngModel" maxlength="20 required></ion-input> 
     </ion-item> 

    <p *ngIf="!useUser" [hidden]="username?.valid || submitted == false" color="danger" padding-left> 
      Username required! 
     </p> 

Angular2 Code

submit(form) { 
     this.submitted = true; 

     if (form.valid) { 

    } 
    } 
+0

"zurück zur Seite", was meinst du damit? Natürlich, wenn Sie zur Seite navigieren, und das Formular ist leer (wieder), wird die Fehlermeldung angezeigt. – Alex

+0

Aber warum wird es nicht angezeigt, wenn ich die Seite zum ersten Mal besuche? Es sollte wie beim ersten Besuch der Seite gehandhabt werden. – Sandruna

+0

Basierend auf dem, was wir sehen, können wir nicht viel Debugging machen. Sie sollten versuchen, das Problem in einem Plumber zu reproduzieren. – Alex

Antwort

0

Ich glaube, Sie Problem haben in einreichen == false. Ich bin nicht sicher. Bitte versuchen Sie es.

[hidden]="username?.valid && submitted == 'false'" color="danger" 
+0

Wenn ich es auf diese Weise mache, ist das versteckte Feld ständig sichtbar. – Sandruna

+0

Bitte versuchen Sie es. –

+0

Immer noch nicht funktioniert, das gleiche Problem (ständig sichtbar) – Sandruna