【问题标题】:Show validations from api response angular从 api 响应角度显示验证
【发布时间】:2022-01-06 18:32:14
【问题描述】:

这是我从 api 响应中得到的响应

{"status":9,"message":{"username":"Please Enter Username !","password":"Please Enter Password !"}}

我想像这样显示这些错误

任何人都可以帮我解决这个问题!!!

【问题讨论】:

    标签: angular typescript api


    【解决方案1】:

    对于初学者,您可以使用这样的东西:https://stackblitz.com/edit/angular-11-form-validation-rvri78

    stackblitz 有表单控制,但在我看来你不使用它,因为你正在调用 API 来处理字段为空的情况?

    但是,如果字段为空,为什么还要调用 API?如果表单有效,您应该调用它,如果用户不存在或用户名/密码等错误组合,则让 API 返回一些错误。

    【讨论】:

    • 谢谢,这是一个非常好的方法,我也尝试过,但我想通过循环显示所有验证 -> 我的响应 {"status":9,"message":{"username ":"请输入用户名!","密码":"请输入密码!"}} ->代码this.apiSerivce.login(this.loginForm.value).subscribe((response) => { if(response['status'] == 1) { //Show Success Response } else if(response['status'] == 9) { //Show Validation by loop } else { //Show Other Response } })
    • “显示循环验证”是什么意思?你会拥有超过这两个领域吗?状态 9 中更多可能的错误消息?
    • 是的,状态 9 中可能有更多错误消息
    • 那么,您有用户名和密码字段,并且 API 响应中的消息可以是任意数量的吗?那么在 status.messages.username 中,如果消息超过 1 个,消息是否应该以数组的形式出现?喜欢:“消息”:{“用户名”:[“第一个错误”,“第二个错误”,“第三个错误”],“密码”:[...]}?
    • 对于这种类型的响应 {'status': 9, 'messages': {'name':'error', 'email':'error', 'mobile_no':'error', ' profile':'error'}} 在所有字段中显示循环验证
    猜你喜欢
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    相关资源
    最近更新 更多