12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <template>
- <el-form
- ref="formRef"
- :model="numberValidateForm"
- label-width="100px"
- class="demo-ruleForm"
- >
- <el-form-item
- label="age"
- prop="age"
- :rules="[
- { required: true, message: 'age is required' },
- { type: 'number', message: 'age must be a number' },
- ]"
- >
- <el-input
- v-model.number="numberValidateForm.age"
- type="text"
- autocomplete="off"
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="submitForm(formRef)">Submit</el-button>
- <el-button @click="resetForm(formRef)">Reset</el-button>
- </el-form-item>
- </el-form>
- </template>
- <script lang="ts" setup>
- import { reactive, ref } from 'vue'
- import type { FormInstance } from 'element-plus'
- const formRef = ref<FormInstance>()
- const numberValidateForm = reactive({
- age: '',
- })
- const submitForm = (formEl: FormInstance | undefined) => {
- if (!formEl) return
- formEl.validate((valid) => {
- if (valid) {
- console.log('submit!')
- } else {
- console.log('error submit!')
- return false
- }
- })
- }
- const resetForm = (formEl: FormInstance | undefined) => {
- if (!formEl) return
- formEl.resetFields()
- }
- </script>
|