BUG527:エラーの共通処理追加

This commit is contained in:
xiaozhe.ma
2024-07-31 18:28:25 +09:00
parent 96722d9c2f
commit b6a68198f5
23 changed files with 345 additions and 123 deletions

View File

@@ -1,5 +1,5 @@
import { actionAddins } from ".";
import { IAction, IActionResult, IActionNode, IActionProperty, IField } from "../types/ActionTypes";
import { IAction, IActionResult, IActionNode, IActionProperty, IField, IContext } from "../types/ActionTypes";
/**
* アクションの属性定義
*/
@@ -32,7 +32,7 @@ export class MailCheckAction implements IAction {
* @param event
* @returns
*/
async process(actionNode: IActionNode, event: any): Promise<IActionResult> {
async process(actionNode: IActionNode, event: any,context:IContext): Promise<IActionResult> {
let result = {
canNext: true,
result: false
@@ -46,8 +46,11 @@ export class MailCheckAction implements IAction {
return result
}
this.props = actionNode.ActionValue as IMailCheckProps;
//条件式の計算結果を取得
const record = event.record;
//対象フィールドの存在チェック
if(!(this.props.field.code in record)){
throw new Error(`フィールド[${this.props.field.code}]が見つかりませんでした。`);
}
const value = record[this.props.field.code].value;
if (this.props.emailCheck === '厳格') {
@@ -56,13 +59,15 @@ export class MailCheckAction implements IAction {
}
else {
record[this.props.field.code].error = null;
result.result=true;
}
} else if (this.props.emailCheck === 'ゆるめ') {
if (!/^[^@]+@[^@]+$/.test(value)) {
record[this.props.field.code].error = this.props.message;
}
else {
record[this.props.field.code].error = null;
record[this.props.field.code].error = null;
result.result=true;
}
} else {
result = {
@@ -72,8 +77,7 @@ export class MailCheckAction implements IAction {
}
return result;
} catch (error) {
event.error = error;
console.error(error);
context.errors.handleError(error,actionNode);
result.canNext = false;
return result;
}