student.vue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <template>
  2. <view>
  3. <form ref="formRef" :rules="rules" @submit.prevent="handleSubmit">
  4. <input v-model="form.username" type="text" name="username" placeholder="请输入用户名" />
  5. <input v-model="form.password" type="password" name="password" placeholder="请输入密码" />
  6. <button type="primary" @click="handleSubmit">提交</button>
  7. </form>
  8. </view>
  9. </template>
  10. <script>
  11. export default {
  12. data() {
  13. return {
  14. form: {
  15. username: '',
  16. password: ''
  17. },
  18. rules: {
  19. username: [
  20. { required: true, message: '请输入用户名', trigger: 'blur' }
  21. ],
  22. password: [
  23. { required: true, message: '请输入密码', trigger: 'blur' },
  24. { min: 6, max: 12, message: '密码长度在 6 到 12 个字符', trigger: 'blur' }
  25. ]
  26. }
  27. };
  28. },
  29. methods: {
  30. handleSubmit() {
  31. this.$nextTick(() => {
  32. this.$refs.formRef.validate((valid) => {
  33. if (valid) {
  34. console.log('表单验证通过,可以提交数据');
  35. // 提交表单逻辑
  36. } else {
  37. console.log('表单验证失败');
  38. // 处理验证失败逻辑
  39. }
  40. });
  41. });
  42. }
  43. }
  44. };
  45. </script>