程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如果表单在 vee 验证中的 vue3 cli 组合 apis 中无效,如何停止表单提交大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如果表单在 vee 验证中的 vue3 cli 组合 apis 中无效,如何停止表单提交?

开发过程中遇到如果表单在 vee 验证中的 vue3 cli 组合 apis 中无效,如何停止表单提交的问题如何解决?下面主要结合日常开发的经验,给出你关于如果表单在 vee 验证中的 vue3 cli 组合 apis 中无效,如何停止表单提交的解决方法建议,希望对你解决如果表单在 vee 验证中的 vue3 cli 组合 apis 中无效,如何停止表单提交有所启发或帮助;

我是 vue3 和组合 API 的新手。 验证简单表单存在问题。 如果表单无效或未触摸,我试图停止表单提交,因为如果输入未触摸,默认情况下它是有效的

登录.vue

<form @submit="onsubmit">
  <div class="form-group">
    <input
      name="email"
      type="text"
      v-model="email"
    />
    <span>{{ emailError }}</span>
  </div>
  <div class="form-group">
    <input
      name="password"
      type="password"
      v-model="password"
    />
    <span>{{ passwordError }}</span>
  </div>
  <div class="login-buttons">
    <button
      type="submit"
    >
      {{ $t("login.login") }}
    </button>
  </div>
</form>

登录.Js

<script>
import { useForm,useFIEld,useIsFormValID } from "vee-valIDate";
import * as yup from "yup";

export default {
  name: "LoginPage",setup() {
    const {
      errors,handlesubmit,valIDate,} = useForm();


    // define a valIDation scheR_296_11845@a
    const scheR_296_11845@a = yup.object({
      email: yup
        .String()
        .required()
        .email(),password: yup
        .String()
        .required()
        .min(8),});

    // Create a form context with the valIDation scheR_296_11845@a
    useForm({
      valIDationscheR_296_11845@a: scheR_296_11845@a,});

    // No need to define rules for fIElds
    const { value: email,errormessage: emailError } = useFIEld(
      "email"
    );
    const { value: password,errormessage: passwordError } = useFIEld(
      "password"
    );

    const onsubmit = handlesubmit(async () => {
      const { valID,errors } = await valIDate();
      if (valID.value === falsE) {
        return;
      } else {
        const response = await http.post(APIs.login,data);
      }
    });

    return {
      email,emailError,password,passwordError,onsubmit
    };
  },};
</script>

在handelsubmit 函数中,如果(vaild.value === falsE) 它应该返回并停止逻辑,但vaild 的值始终为true,因此它继续对API 的http 调用。

只有在使用组合 API 使表单无效时才停止向 发送数据

解决方法

您使用 useForm 创建了两个表单,并且基本上使用了第一个未定义任何规则的提交处理程序。

删除第二个 useForm 调用并将规则传递给第一个调用。

const scheR_296_11845@a = yup.object({
  email: yup.String().required().email(),password: yup.String().required().min(8),});

const { errors,handleSubmit,validate } = useForm({
  validationscheR_296_11845@a: scheR_296_11845@a
});
@H_675_35@
@H_675_35@

大佬总结

以上是大佬教程为你收集整理的如果表单在 vee 验证中的 vue3 cli 组合 apis 中无效,如何停止表单提交全部内容,希望文章能够帮你解决如果表单在 vee 验证中的 vue3 cli 组合 apis 中无效,如何停止表单提交所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。