feat(component): 部分组件添加限制中文输入

master
钟良源 4 days ago
parent 94c7209355
commit f1827f133b

@ -144,10 +144,23 @@ const AddApiModal = ({
{
required: true,
message: '请输入接口名称'
},
{
validator: (value, cb) => {
if (!value) {
return cb();
}
// 只允许英文字母、数字和下划线
const pattern = /^[a-zA-Z0-9_]+$/;
if (!pattern.test(value)) {
return cb('接口名称只能包含英文字母、数字和下划线');
}
return cb();
}
}
]}
>
<Input placeholder="请输入接口名称" />
<Input placeholder="请输入接口名称(仅支持英文字母、数字和下划线)" />
</FormItem>
<FormItem label="描述" field="desc">
<TextArea placeholder="请输入描述" />

@ -621,7 +621,11 @@ const AddComponentModal = ({ visible, baseInfo, setVisible, onReFresh, mode = 'c
if (!value) {
return cb('请输入代码标识');
}
// 只允许英文字母、数字和下划线
const pattern = /^[a-zA-Z0-9_]+$/;
if (!pattern.test(value)) {
return cb('代码标识只能包含英文字母、数字和下划线');
}
return cb();
}
}
@ -629,7 +633,7 @@ const AddComponentModal = ({ visible, baseInfo, setVisible, onReFresh, mode = 'c
<Input
style={{ width: '90%' }}
allowClear
placeholder="请输入代码标识"
placeholder="请输入代码标识(仅支持英文字母、数字和下划线)"
disabled={isReadOnly || created || isEditMode}
onChange={(e) => debouncedValidateProjectId(e)}
/>

@ -23,6 +23,8 @@ const arrayTypeOptions = [
];
function EditableCell({ value, onChange, columnType, record, dataIndex }) {
const [error, setError] = useState('');
// 对于数组类型字段的特殊处理
if (dataIndex === 'generic') {
// 仅当数据类型为 ARRAY 时才可编辑
@ -43,6 +45,33 @@ function EditableCell({ value, onChange, columnType, record, dataIndex }) {
}
if (columnType === 'input') {
// 对于 ident 字段(名称列)添加验证
if (dataIndex === 'ident') {
const handleIdentChange = (val) => {
// 验证是否只包含英文字母、数字和下划线
const pattern = /^[a-zA-Z0-9_]*$/;
if (val && !pattern.test(val)) {
setError('只能包含英文字母、数字和下划线');
Message.error('参数名称只能包含英文字母、数字和下划线');
return;
}
setError('');
onChange(val);
};
return (
<div>
<Input
value={value}
onChange={handleIdentChange}
placeholder="请输入(仅支持英文字母、数字和下划线)"
status={error ? 'error' : undefined}
/>
{error && <div style={{ color: '#f53f3f', fontSize: 12, marginTop: 4 }}>{error}</div>}
</div>
);
}
return (
<Input
value={value}

Loading…
Cancel
Save