长度限制

This commit is contained in:
lyp 2025-07-31 15:44:39 +08:00
parent 1b170f2bbc
commit f186c37dd7

View File

@ -656,36 +656,20 @@ export default function ProjNew() {
rules={[ rules={[
{ required: true, message: '请输入系统全称' }, { required: true, message: '请输入系统全称' },
{ {
validator: (_rule, value, callback) => { max: 80,
if (value) { message: '系统全称不能超过80个字符'
const modifiedValue = value.replace(/'/g, '');
if (value !== modifiedValue) {
// 更新表单值
form.setFieldsValue({ projName: modifiedValue });
}
}
callback();
},
}, },
{
pattern: /^[^']*$/, // 正则表达式:不包含任何英文单引号
message: '系统全称禁止使用英文单引号(\')'
}
]} ]}
// normalize={(value) => value?.replace(/'/g, '') || ''}
// normalize={(value) => value?.replace(/['"]/g, '') || ''}
> >
{/* <Input onChange={(e) => {
// 打印值
// console.log(e.target.value);
if (e.target.value) {
if (isEndsWithKeywords(e.target.value)) {
setShowTip(false)
} else {
setShowTip(true)
}
} else {
setShowTip(false)
}
}} style={{ background: '#eeeeee', width: '800px', height: '50px', fontSize: '16px' }} placeholder="请输入系统全称 (注系统全称建议以“软件”、“系统”、“平台”或“APP”结尾)" /> */}
<AutoComplete <AutoComplete
className='changeStyle' className='changeStyle'
@ -696,17 +680,20 @@ export default function ProjNew() {
width: '780px', width: '780px',
height: '42px', height: '42px',
}} }}
placeholder="请输入系统全称 (注系统全称建议以“软件”、“系统”、“平台”或“APP”结尾,禁止使用英文单引号)" placeholder="请输入系统全称 (注系统全称建议以“软件”、“系统”、“平台”或“APP”结尾)"
options={selectList} options={selectList}
onSearch={(value) => { onSearch={(value) => {
// setProjNameValue(value); // setProjNameValue(value);
if (value) { // 先检查基础规则是否通过
if (isEndsWithKeywords(value)) { const isBasicValid = value
setShowTip(false); && value.length <= 80
} else { && !/'/.test(value);
setShowTip(true);
} if (isBasicValid) {
// 基础规则通过后,再检查尾部关键词
setShowTip(!isEndsWithKeywords(value));
} else { } else {
// 基础规则未通过,不显示尾部提示
setShowTip(false); setShowTip(false);
} }
}} }}
@ -775,6 +762,21 @@ export default function ProjNew() {
name="projSubName" name="projSubName"
rules={[ rules={[
{ required: false, message: '请输入系统简称' }, { required: false, message: '请输入系统简称' },
{
validator: async (_, value) => {
// 获取系统全称的值
const projName = await form.getFieldValue('projName');
// 如果系统简称和全称都存在,验证长度
if (value && projName) {
if (value.length > projName.length) {
return Promise.reject(new Error('系统简称长度不能大于系统全称'));
}
}
return Promise.resolve();
}
}
]} ]}
> >
<Input <Input