fuliqi
2024-01-24 29c1e7eb5ac16e90d8991a86c1c071bc312ec8d9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
 * @Author: wuyue
 * @Date: 2022-08-25 13:33:00
 * @LastEditTime: 2022-12-13 16:48:27
 * @LastEditors: wuyue
 * @Descripttion:
 * @version:
 */
// 提交时进行表单验证
import formValidate from './formValidate'
import { Message } from 'element-ui'
 
export function submitValidate(diyList, useSceneMap) {
  for (const [index, i] of diyList.entries()) {
    const str = i.title ? i.title : useSceneMap[i.type]
    let item = formValidate[i.type]
    if (!formValidate[i.type]) {
      if (i.type === 'proDetails') {
        item = formValidate.proDetails
      } else if (i.type === '4' || i.type === '5') {
        item = formValidate.noChoiceActivity
      } else {
        item = formValidate.choiceActivity
      }
    }
    if (!i.type) {
      Message({
        message: index + '-热区' + '--' + '展示类型不能为空',
        type: 'warning'
      })
      return true
    }
    const validateItem = JSON.parse(JSON.stringify(item))
    for (const k of Object.keys(validateItem)) {
      const value = i[k]
      if (i.type === '3') {
        validateItem.isDisplayProd.required = false
      }
      if (
        validateItem[k].required &&
         (
           (validateItem[k].type === 'array' && !value.length) ||
          (validateItem[k].type === 'number' && (value === '' || value === undefined)) ||
          (!validateItem[k].type && !value)
         )
      ) {
        Message({
          message: (index !== 0 ? index + '-' : ' ') + str + '--' + validateItem[k].message,
          type: 'warning'
        })
        return true
      }
    }
  }
}