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

Loading…
Cancel
Save