在Angular中显示错误名称(按功能)

时间:2018-10-30 01:49:11

标签: angular error-handling

我正尝试进入一个文本区域,就像这样:

%dw 1.0
%output application/json
---
payload.products map 
{
    "ItemNo" : $.sku,
    "Desc" : $.description,
    "Test" : "Value",
    "Attributes" : $.attributes map
    {
        '$$' : $ pluck $.value
    }
}

2 个答案:

答案 0 :(得分:0)

您可以简单地创建一个属性,以保存错误信息,当规则失败时,它们会进入每个规则。例如

在组件上创建全局属性

errorMessages:Array<string>=[];

在每个规则上,在失败时推送错误消息

   checkTabsNewLines = ( str ) => {
        const reN = /[\n]/mg;
        const reT = /[\t]/mg;
        if (((str || '').match(reN) || []).length === ((str || '').match(reT) || []).length - 1) {
          return true;
        } else {
         this.errorMessages.push("checkTabsNewLines thrown an error");
          return false;

        }

      }

在您的html上,您可以简单地迭代并显示错误消息

<div [hidden]="checkValid()" class="error-message">
                <span [innerHTML]="error"  *ngFor="let error of errorMessages"></span>
            </div>

您可以根据逻辑将数组设置为空来清除错误

this.errorMessages=[];
  

注意:如果只有一个,也可以使用string代替Array。   在用户界面中显示错误

答案 1 :(得分:0)

您需要在html和ts文件中进行很少的更改。

  
      
  1. 更改html
  2.   

innerHTML不是必需的。如果您具有html内容,则可以改用innerHTML。

<div [hidden]="checkValid()" class="error-message" [innerHTML]="errorMessage">
       {{ errorMessage }}
 </div>
  
      
  1. ts的变化
  2.   
  errorMessage = ""; <-- You can make it array if you want to store multiple errors.
  checkTabsNewLines = ( str ) => {
    const reN = /[\n]/mg;
    const reT = /[\t]/mg;
    if (((str || '').match(reN) || []).length === ((str || '').match(reT) || []).length - 1) {
      this.errorMessage = "It has tab lines";
      return true;
    } else {
      return false;
    }

  }

  checkTabsNewLinesSuggestedQ = ( str ) => {

  if(true){ . //set the message if function returns true.
    this.errorMessage = "checkTabsNewLinesSuggestedQ message"; /<--set message
  }     

  ........return false/true}

  checkEmptyVal = ( str: string ) => {
    if(true){ . //set the message if function returns true.
      this.errorMessage = "checkEmptyVal message"; /<--set message
    } 
    ....... return false/true
  }