| | |
| | | this.props.form.validateFields((err, values) => { |
| | | if (err) return |
| | | |
| | | let searches = this.getFieldsValues(values) |
| | | let { searches, error } = this.getFieldsValues(values) |
| | | |
| | | if (this.state.hasReqFields) { |
| | | if (error) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: error, |
| | | duration: 3 |
| | | }) |
| | | return |
| | | } else if (this.state.hasReqFields) { |
| | | let requireFields = searches.filter(item => item.required && item.value === '') |
| | | if (requireFields.length > 0) { |
| | | let labels = requireFields.map(item => item.label) |
| | |
| | | |
| | | // 获取搜索条件值 |
| | | let search = [] |
| | | let error = null |
| | | searchlist.forEach(item => { |
| | | if (item.type === 'group') { |
| | | search.push({ |
| | |
| | | }) |
| | | } else { |
| | | let type = item.type |
| | | let val = values[item.field] !== undefined ? values[item.field] : '' |
| | | |
| | | if (type === 'multiselect' || (type === 'checkcard' && item.multiple === 'true')) { |
| | | type = 'multi' |
| | | } else if (type === 'text' && !error) { |
| | | if (/'/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用英文状态的单引号。` |
| | | } else if (/(^|\s)select\s/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字select。` |
| | | } else if (/\sfrom(\s|\()/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字from。` |
| | | } else if (/(^|\s)insert\s/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字insert。` |
| | | } else if (/(^|\s)delete\s/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字delete。` |
| | | } else if (/(^|\s)update\s/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字update。` |
| | | } else if (/(^|\s)where\s/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字where。` |
| | | } else if (/(^|\s)drop\s/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字drop。` |
| | | } else if (/(^|\s)exec\s/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字exec。` |
| | | } else if (/(^|\s)truncate\s/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字truncate。` |
| | | } else if (/(^|\s)while\s/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字while。` |
| | | } else if (/(^|\s)for\s/ig.test(val)) { |
| | | error = `搜索条件${item.label}中,不可使用关键字for。` |
| | | } |
| | | } |
| | | let val = values[item.field] !== undefined ? values[item.field] : '' |
| | | |
| | | if (typeof(val) === 'string') { |
| | | val = val.replace(/(^\s*|\s*$)/ig, '') |
| | |
| | | } |
| | | }) |
| | | |
| | | return search |
| | | return {searches: search, error} |
| | | } |
| | | |
| | | handleOk = (values) => { |