代码之家  ›  专栏  ›  技术社区  ›  Roberto

触摸后irequired输入的角度验证消息

  •  0
  • Roberto  · 技术社区  · 9 年前

    here 验证想法。这很好,但有一个问题。当表单为空并且我单击输入时,它将得到无效类(红色),但不会显示错误消息。只有在我放了一些文字并删除后,信息才会到达。我想知道我怎样才能改变这个“如果承诺”的工作,因为它应该

    if (control && control.dirty && !control.valid) 
    

    我只想添加错误消息,这将发生在我点击输入,然后留下它(仍然)为空。你知道怎么做到吗?

    3 回复  |  直到 9 年前
        1
  •  2
  •   Vega Stipe    9 年前

    如果将“名称控制”设置为以下值:

    ...name: ["", [Validators.required],....
    

    然后应该能够执行以下操作:

    <span class="error" *ngIf="(user.get('username').touched && !user.get('username').value) ||  user.get('username').invalid">Error on username</span>
    

    或者,如果您介意布局更改(因为*ngIf会将其从DOM中删除),您可以使用反向逻辑应用[隐藏]属性:

    <span class="error" [hidden]="!user.get('username').touched || user.get('username').value || user.get('username').invalid">
    

    Plunker

        2
  •  0
  •   Robert    9 年前

    Angular2 form validation

    希望它能帮助你。

        3
  •  0
  •   diopside    9 年前

     (!password.touched || (password.touched && password.valid))
    

    例如此外,不要忘记“质朴”。