Browse Source

fix: DEC-11221 加入对可输入数值的区间验证

research/10.0
langwenda 5 years ago
parent
commit
35a4a78e82
  1. 3
      i18n/zh_cn.properties
  2. 1
      private/i18n.ts
  3. 2
      src/modules/constants/constant.ts
  4. 30
      src/modules/pages/maintain/forms/components/form.jdbc.ts

3
i18n/zh_cn.properties

@ -301,4 +301,5 @@ BI-Basic_Billion= 亿
BI-Basic_Quarter= 季度
BI-Basic_No_Select= 不选
BI-Basic_Now= 此刻
Dec-Dcm_Connection_Analytic_DB=阿里云AnalyticDB
Dec-Dcm_Connection_Analytic_DB=阿里云AnalyticDB
Dec-Dcm_Connection_Value_Out_Range=数值超出范围

1
private/i18n.ts

@ -301,4 +301,5 @@ export default {
'BI-Basic_No_Select': '不选',
'BI-Basic_Now': '此刻',
'Dec-Dcm_Connection_Analytic_DB': '阿里云AnalyticDB',
'Dec-Dcm_Connection_Value_Out_Range': '数值超出范围',
};

2
src/modules/constants/constant.ts

@ -707,3 +707,5 @@ export const JNDI_FACTORYS = [
];
export const PAGE_SIZE = 50;
export const INT_MAX_VALUE = 2147483647;
export const INT_MIN_VALUE = -2147483648;

30
src/modules/pages/maintain/forms/components/form.jdbc.ts

@ -4,7 +4,7 @@ import { CollapseXtype, EVENT_CHANGE } from 'src/modules/components/collapse/col
import { FormItemXtype } from '../../components/form_item/form_item';
import { Connection, ConnectionJDBC, ConnectionPoolJDBC } from 'src/modules/crud/crud.typings';
import { connectionType } from '@constants/env';
import { CONNECT_CHARSET, CONNECTION_LAYOUT } from '@constants/constant';
import { CONNECT_CHARSET, CONNECTION_LAYOUT, INT_MAX_VALUE, INT_MIN_VALUE } from '@constants/constant';
import { getAllDatabaseTypes, getJdbcDatabaseType, resolveUrlInfo, splitUrl } from '../../../../app.service';
import { TextCheckerXtype } from '../../../../components/text_checker/text_checker';
export const FormJdbcXtype = 'dec.dcm.maintain.form.jdbc';
@ -62,6 +62,12 @@ export class FormJdbc extends BI.Widget {
const { host, port, databaseName } = resolveUrlInfo(url);
const { hgap, vgap } = CONNECTION_LAYOUT;
const valueRangeConfig = {
errorText: BI.i18nText('Dec-Dcm_Connection_Value_Out_Range'),
checker: (value: string) => this.checkValueRange(value),
autoFix: true,
};
return {
type: Vertical,
hgap,
@ -161,7 +167,7 @@ export class FormJdbc extends BI.Widget {
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'),
checker: (value: string) => this.checkInteger(value),
autoFix: true,
}],
}, valueRangeConfig],
ref: (_ref: any) => {
this.form.port = _ref;
},
@ -408,7 +414,7 @@ export class FormJdbc extends BI.Widget {
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'),
checker: (value: string) => this.checkInteger(value),
autoFix: true,
}],
}, valueRangeConfig],
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Initial_Size'),
ref: (_ref: any) => {
this.form.initialSize = _ref;
@ -428,7 +434,7 @@ export class FormJdbc extends BI.Widget {
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'),
checker: (value: string) => this.checkInteger(value),
autoFix: true,
}],
}, valueRangeConfig],
ref: (_ref: any) => {
this.form.maxActive = _ref;
},
@ -447,7 +453,7 @@ export class FormJdbc extends BI.Widget {
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'),
checker: (value: string) => this.checkInteger(value),
autoFix: true,
}],
}, valueRangeConfig],
ref: (_ref: any) => {
this.form.maxIdle = _ref;
},
@ -466,7 +472,7 @@ export class FormJdbc extends BI.Widget {
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'),
checker: (value: string) => this.checkInteger(value),
autoFix: true,
}],
}, valueRangeConfig],
ref: (_ref: any) => {
this.form.minIdle = _ref;
},
@ -486,7 +492,7 @@ export class FormJdbc extends BI.Widget {
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'),
checker: (value: string) => this.checkInteger(value),
autoFix: true,
}],
}, valueRangeConfig],
ref: (_ref: any) => {
this.form.maxWait = _ref;
},
@ -574,7 +580,7 @@ export class FormJdbc extends BI.Widget {
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Number'),
checker: (value: string) => this.checkNumber(value),
autoFix: true,
}],
}, valueRangeConfig],
ref: (_ref: any) => {
this.form.timeBetweenEvictionRunsMillis = _ref;
},
@ -600,7 +606,7 @@ export class FormJdbc extends BI.Widget {
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'),
checker: (value: string) => this.checkInteger(value),
autoFix: true,
}],
}, valueRangeConfig],
ref: (_ref: any) => {
this.form.numTestsPerEvictionRun = _ref;
},
@ -620,7 +626,7 @@ export class FormJdbc extends BI.Widget {
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'),
checker: (value: string) => this.checkInteger(value),
autoFix: true,
}],
}, valueRangeConfig],
ref: (_ref: any) => {
this.form.minEvictableIdleTimeMillis = _ref;
},
@ -651,6 +657,10 @@ export class FormJdbc extends BI.Widget {
return /^[(\-|\+)?\d]+$/.test(value);
}
private checkValueRange(value: string) {
return Number(value) <= INT_MAX_VALUE && Number(value) >= INT_MIN_VALUE;
}
private getDrivers() {
const connectionData = this.options.formData.connectionData as ConnectionJDBC;
const connectionType = getJdbcDatabaseType(connectionData.database, connectionData.driver);

Loading…
Cancel
Save