2017-01-23 88 views
1

我注意到在下面的代码中,当输入字段填写正确并且我提交表单时,它会显示隐藏的消息。当我回到页面时(提交后)隐藏字段可见时,也会发生同样的情况。但我不想在这种情况下显示错误消息。我该如何改变它?* NgIf指令中的隐藏属性

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

submit(form) { 
     this.submitted = true; 

     if (form.valid) { 

    } 
    } 
+0

“回到页面”,你是什么意思?当然,如果您导航到页面,并且表单为空(再次),则会显示错误消息。 – Alex

+0

但是为什么在第一次访问页面时没有显示?这应该是handeld第一次访问该页面。 – Sandruna

+0

基于我们所看到的,我们无法做很多调试。你应该尝试在一个蹲点中重现这个问题。 – Alex

回答

0

我认为你有问题,提交虚假==。我不确定。请试试这个。

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

当我这样做时,隐藏的字段会不断显示。 – Sandruna

+0

请试试这个。 –

+0

还是不行,同样的问题(不断可见) – Sandruna