Commit f395b90d authored by chenshouchao's avatar chenshouchao

fix: 解决版本校验错误问题

parent f637e0cd
...@@ -115,7 +115,7 @@ const WorkFlowEdit = observer((props: IProps) => { ...@@ -115,7 +115,7 @@ const WorkFlowEdit = observer((props: IProps) => {
}, [id, fetchTemplateConfigInfoRun]); }, [id, fetchTemplateConfigInfoRun]);
// 校验模板名称 // 校验模板名称
const checkTitle = (title: string) => { const checkTitle = () => {
if (!title) { if (!title) {
setTitleHelper({ setTitleHelper({
error: true, error: true,
...@@ -140,11 +140,12 @@ const WorkFlowEdit = observer((props: IProps) => { ...@@ -140,11 +140,12 @@ const WorkFlowEdit = observer((props: IProps) => {
}; };
// 校验新版本号是否大于旧版本号 // 校验新版本号是否大于旧版本号
const checkNewOldVersion = useCallback(() => { const checkNewOldVersion = (version: string, oldversion: string) => {
let versionArr = version.split("."); let versionArr: any[] = version.split(".");
let oldversionArr = oldversion.split("."); let oldversionArr: any[] = oldversion.split(".");
versionArr.map((item) => Number(item)); versionArr = versionArr.map((item) => Number(item));
oldversionArr.map((item) => Number(item)); oldversionArr = oldversionArr.map((item) => Number(item));
if (versionArr[0] < oldversionArr[0]) { if (versionArr[0] < oldversionArr[0]) {
setVersionHelper({ setVersionHelper({
error: true, error: true,
...@@ -161,7 +162,7 @@ const WorkFlowEdit = observer((props: IProps) => { ...@@ -161,7 +162,7 @@ const WorkFlowEdit = observer((props: IProps) => {
}); });
return false; return false;
} else if (versionArr[1] === oldversionArr[1]) { } else if (versionArr[1] === oldversionArr[1]) {
if (versionArr[2] < oldversionArr[2]) { if (versionArr[2] <= oldversionArr[2]) {
setVersionHelper({ setVersionHelper({
error: true, error: true,
helperText: helperText:
...@@ -172,27 +173,17 @@ const WorkFlowEdit = observer((props: IProps) => { ...@@ -172,27 +173,17 @@ const WorkFlowEdit = observer((props: IProps) => {
} }
} }
return true; return true;
}, [version, oldversion]); };
// 校验版本号格式 // 校验版本号格式
const checkVersion = (version: string) => { const checkVersion = (version: string) => {
const versionArr = version.split(".");
if (oldversion) { if (oldversion) {
if (!checkNewOldVersion()) { if (!checkNewOldVersion(version, oldversion)) {
return; return;
} }
} }
const reg = new RegExp("^([0-9]|[0-9]\\d)$"); console.log(version);
if (versionArr.length !== 3) { if (/^[1-9]\d?(\.(0|[1-9]\d?)){2}$/.test(version)) {
setVersionHelper({
error: true,
helperText: "格式不正确,必须为X.Y.Z格式,且XYZ必须为0~99的正整数",
});
} else if (
versionArr.every((item) => {
return reg.test(item);
})
) {
setVersionHelper({ setVersionHelper({
error: false, error: false,
helperText: "", helperText: "",
...@@ -209,7 +200,7 @@ const WorkFlowEdit = observer((props: IProps) => { ...@@ -209,7 +200,7 @@ const WorkFlowEdit = observer((props: IProps) => {
const handleTitleChange = (e: any) => { const handleTitleChange = (e: any) => {
const title = e.target.value; const title = e.target.value;
setTitle(title); setTitle(title);
checkTitle(title); checkTitle();
// 格式不正确,必须在15字符以内,仅限大小写字母、数字、中文 // 格式不正确,必须在15字符以内,仅限大小写字母、数字、中文
}; };
...@@ -290,7 +281,7 @@ const WorkFlowEdit = observer((props: IProps) => { ...@@ -290,7 +281,7 @@ const WorkFlowEdit = observer((props: IProps) => {
// 表单弹窗确定,新建/编辑自定义模板保存 // 表单弹窗确定,新建/编辑自定义模板保存
const handleOncofirm = () => { const handleOncofirm = () => {
checkTitle(title); checkTitle();
checkVersion(version); checkVersion(version);
if (!titleHelper.error && !versionHelper.error) { if (!titleHelper.error && !versionHelper.error) {
saveUserSpecRun({ saveUserSpecRun({
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment