|
|
@@ -56,8 +56,8 @@ class DataConnectBox extends React.Component {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return flag && !!newOne && !!newOne.name && newOne.name.length <= 50 && !!newOne.dbType && !!newOne.address && !!newOne.port &&
|
|
|
- !!newOne.dbName && !!newOne.userName && newOne.description.length <= 150 && (newOne.boxOperation === 'create' ? !!newOne.password : true);
|
|
|
+ return flag && !!newOne && !!newOne.name && (newOne.name + '').length <= 50 && !!newOne.dbType && !!newOne.address && !!newOne.port &&
|
|
|
+ !!newOne.dbName && !!newOne.userName && (newOne.description + '').length <= 150 && (newOne.boxOperation === 'create' ? !!newOne.password : true);
|
|
|
}
|
|
|
|
|
|
render() {
|
|
|
@@ -114,19 +114,20 @@ class DataConnectBox extends React.Component {
|
|
|
help={validInfo.name.help}
|
|
|
>
|
|
|
<Input
|
|
|
+ key={dataConnect.newOne.name}
|
|
|
disabled={disabled}
|
|
|
placeholder="输入数据链接名称"
|
|
|
defaultValue={dataConnect.newOne.name}
|
|
|
onChange={e => {
|
|
|
- let val = e.target.value;
|
|
|
+ let val = e.target.value+'';
|
|
|
window.clearTimeout(this.nameTimeout);
|
|
|
this.nameTimeout = window.setTimeout(() => {
|
|
|
this.setState({
|
|
|
- validInfo: { ...validInfo, name: { status: (!val || (val+'').trim().length > 50 || (val+'').trim().length === 0) ? 'error' : 'success', help: (val+'').trim().length > 50 ? '链接名不能超过50个字符' : ((val+'').trim().length === 0 ? '链接名不能为空' : '') } }
|
|
|
+ validInfo: { ...validInfo, name: { status: (!val || val.length > 50 || val.length === 0) ? 'error' : 'success', help: val.length > 50 ? '链接名不能超过50个字符' : ((val+'').trim().length === 0 ? '链接名不能为空' : '') } }
|
|
|
});
|
|
|
}, 100);
|
|
|
}}
|
|
|
- onBlur={(e) => { dispatch({ type: 'dataConnect/setNewModelField', name: 'name', value: e.target.value }) }}
|
|
|
+ onBlur={(e) => { dispatch({ type: 'dataConnect/setNewModelField', name: 'name', value: e.target.value+'' }) }}
|
|
|
>
|
|
|
</Input>
|
|
|
</FormItem>
|
|
|
@@ -135,6 +136,7 @@ class DataConnectBox extends React.Component {
|
|
|
help={(dataConnect.newOne.dbType === undefined || dataConnect.newOne.dbType) ? '' : '数据库类型不能为空'}
|
|
|
>
|
|
|
<Select
|
|
|
+ key={dataConnect.newOne.dbType}
|
|
|
disabled={true}
|
|
|
placeholder="选择数据库类型"
|
|
|
defaultValue='oracle'
|
|
|
@@ -163,15 +165,25 @@ class DataConnectBox extends React.Component {
|
|
|
labelCol: { span: 5 },
|
|
|
wrapperCol: { span: 19 }
|
|
|
}}
|
|
|
- validateStatus={(dataConnect.newOne.address === undefined || dataConnect.newOne.address) ? 'success' : 'error'}
|
|
|
- help={(dataConnect.newOne.address === undefined || dataConnect.newOne.address) ? '' : '数据库地址不能为空'}
|
|
|
+ validateStatus={validInfo.address.status}
|
|
|
+ help={validInfo.address.help}
|
|
|
>
|
|
|
<Input
|
|
|
+ key={dataConnect.newOne.address}
|
|
|
disabled={disabled}
|
|
|
placeholder="格式:192.168.1.1"
|
|
|
defaultValue={dataConnect.newOne.address}
|
|
|
onBlur={(e) => {
|
|
|
- dispatch({ type: 'dataConnect/setNewModelField', name: 'address', value: e.target.value });
|
|
|
+ dispatch({ type: 'dataConnect/setNewModelField', name: 'address', value: e.target.value+'' });
|
|
|
+ }}
|
|
|
+ onChange={e => {
|
|
|
+ let val = e.target.value+'';
|
|
|
+ window.clearTimeout(this.addressTimeout);
|
|
|
+ this.addressTimeout = window.setTimeout(() => {
|
|
|
+ this.setState({
|
|
|
+ validInfo: { ...validInfo, address: { status: (val.length === 0) ? 'error' : 'success', help: val.length === 0 ? '数据库地址不能为空' : '' } }
|
|
|
+ });
|
|
|
+ }, 100);
|
|
|
}}
|
|
|
/>
|
|
|
</FormItem>
|
|
|
@@ -185,10 +197,11 @@ class DataConnectBox extends React.Component {
|
|
|
help={(dataConnect.newOne.port === undefined || dataConnect.newOne.port) ? '' : '端口不能为空'}
|
|
|
>
|
|
|
<InputNumber
|
|
|
+ // key={dataConnect.newOne.port}
|
|
|
disabled={disabled}
|
|
|
- defaultValue={dataConnect.newOne.port ? Number(dataConnect.newOne.port) : 1521}
|
|
|
- // value={dataConnect.newOne.port}
|
|
|
- onBlur={(value) => {
|
|
|
+ // defaultValue={dataConnect.newOne.port}
|
|
|
+ value={dataConnect.newOne.port}
|
|
|
+ onChange={(value) => {
|
|
|
dispatch({ type: 'dataConnect/setNewModelField', name: 'port', value: value });
|
|
|
}}
|
|
|
/>
|
|
|
@@ -200,11 +213,12 @@ class DataConnectBox extends React.Component {
|
|
|
help={(dataConnect.newOne.dbName === undefined || dataConnect.newOne.dbName) ? '' : '数据库名不能为空'}
|
|
|
>
|
|
|
<Input
|
|
|
+ key={dataConnect.newOne.dbName}
|
|
|
disabled={disabled}
|
|
|
// defaultValue='orcl'
|
|
|
- defaultValue={dataConnect.newOne.dbName || 'orcl'}
|
|
|
+ defaultValue={dataConnect.newOne.dbName}
|
|
|
onBlur={(e) => {
|
|
|
- dispatch({ type: 'dataConnect/setNewModelField', name: 'dbName', value: e.target.value });
|
|
|
+ dispatch({ type: 'dataConnect/setNewModelField', name: 'dbName', value: e.target.value+'' });
|
|
|
}}
|
|
|
/>
|
|
|
</FormItem>
|
|
|
@@ -218,10 +232,11 @@ class DataConnectBox extends React.Component {
|
|
|
help={(dataConnect.newOne.userName === undefined || dataConnect.newOne.userName) ? '' : '用户名不能为空'}
|
|
|
>
|
|
|
<Input
|
|
|
+ key={dataConnect.newOne.userName}
|
|
|
disabled={disabled}
|
|
|
defaultValue={dataConnect.newOne.userName}
|
|
|
onBlur={(e) => {
|
|
|
- dispatch({ type: 'dataConnect/setNewModelField', name: 'userName', value: e.target.value });
|
|
|
+ dispatch({ type: 'dataConnect/setNewModelField', name: 'userName', value: e.target.value+'' });
|
|
|
}}
|
|
|
/>
|
|
|
</FormItem>
|
|
|
@@ -247,14 +262,14 @@ class DataConnectBox extends React.Component {
|
|
|
}}
|
|
|
onChange={(e) => {
|
|
|
this.setState({
|
|
|
- password: e.target.value
|
|
|
+ password: e.target.value+''
|
|
|
});
|
|
|
}}
|
|
|
onBlur={(e) => {
|
|
|
this.setState({
|
|
|
passwordEditing: false
|
|
|
});
|
|
|
- dispatch({ type: 'dataConnect/setNewModelField', name: 'password', value: e.target.value });
|
|
|
+ dispatch({ type: 'dataConnect/setNewModelField', name: 'password', value: e.target.value+'' });
|
|
|
}}
|
|
|
/>
|
|
|
</FormItem>
|
|
|
@@ -281,20 +296,21 @@ class DataConnectBox extends React.Component {
|
|
|
help={validInfo.description.help}
|
|
|
>
|
|
|
<Input.TextArea
|
|
|
+ key={dataConnect.newOne.description}
|
|
|
disabled={disabled}
|
|
|
autosize={{ minRows: 2 }}
|
|
|
defaultValue={dataConnect.newOne.description}
|
|
|
onChange={e => {
|
|
|
- let val = e.target.value;
|
|
|
+ let val = e.target.value+'';
|
|
|
window.clearTimeout(this.nameTimeout);
|
|
|
this.nameTimeout = window.setTimeout(() => {
|
|
|
this.setState({
|
|
|
- validInfo: { ...validInfo, description: { status: (!!val && (val+'').trim().length > 150) ? 'error' : 'success', help: (!!val && (val+'').trim().length > 150) ? '说明不能超过150个字符' : '' } }
|
|
|
+ validInfo: { ...validInfo, description: { status: (!!val && val.length > 150) ? 'error' : 'success', help: (!!val && val.length > 150) ? '说明不能超过150个字符' : '' } }
|
|
|
});
|
|
|
}, 100);
|
|
|
}}
|
|
|
onBlur={(e) => {
|
|
|
- dispatch({ type: 'dataConnect/setNewModelField', name: 'description', value: e.target.value });
|
|
|
+ dispatch({ type: 'dataConnect/setNewModelField', name: 'description', value: e.target.value+'' });
|
|
|
}}
|
|
|
/>
|
|
|
</FormItem>
|