潘志宝
2024-09-18 dea4e44578b8e1f31c7416a49e9da7f7a87829ff
src/views/data/channel/kio/KioDeviceForm.vue
@@ -47,6 +47,7 @@
</template>
<script lang="ts" setup>
import * as KioApi from '@/api/data/channel/kio'
  import {isIP, isPositiveInteger} from '@/utils/validate'
defineOptions({ name: 'DataKioDeviceForm' })
@@ -64,10 +65,30 @@
    username: undefined,
    password: undefined,
  })
  const validateIP = (rule, value, callback) => {
    if (!isIP(value)) {
      callback(new Error('IP地址不正确'))
    } else {
      callback()
    }
  }
  const validateNum = (rule, value, callback) => {
    if (!isPositiveInteger(value)) {
      callback(new Error('格式不正确'))
    } else {
      callback()
    }
  }
  const formRules = reactive({
    instanceName: [{ required: true, message: '设备名称不能为空', trigger: 'blur' }],
    address: [{ required: true, message: 'IP地址不能为空', trigger: 'blur' }],
    port: [{ required: true, message: '端口不能为空', trigger: 'blur' }],
    address: [
      {required: true, message: 'IP地址不能为空', trigger: 'blur'},
      {validator: validateIP, trigger: 'blur'}
    ],
    port: [
      {required: true, message: '端口不能为空', trigger: 'blur'},
      {validator: validateNum, trigger: 'blur'}
    ],
    username: [{ required: true, message: '用户名不能为空', trigger: 'blur' }],
    password: [{ required: true, message: '密码不能为空', trigger: 'blur' }]
  })