我正尝试进入一个文本区域,就像这样:
%dw 1.0
%output application/json
---
payload.products map
{
"ItemNo" : $.sku,
"Desc" : $.description,
"Test" : "Value",
"Attributes" : $.attributes map
{
'$$' : $ pluck $.value
}
}
答案 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文件中进行很少的更改。
- 更改html
innerHTML不是必需的。如果您具有html内容,则可以改用innerHTML。
<div [hidden]="checkValid()" class="error-message" [innerHTML]="errorMessage">
{{ errorMessage }}
</div>
- ts的变化
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
}