使用 vue.js 和 vuetify 进行服务器端表单验证

2024-02-10

我看到了很多有关使用 Vuetify 进行客户端验证的文档,但发现很难找到有关 vuetify 和 vue 的服务器端验证消息的文档。

PROBLEM

我有这个组件:

<template>
  <v-container>
    <v-layout row>
      <v-flex xs12 sm6 offset-sm3>
        <v-card>
          <v-card-text>
            <v-container>
              <h3>Register Now</h3>
              <form v-on:submit.prevent="onSubmit">
                <v-layout row>
                  <v-flex xs12>
                    <v-text-field
                      name="email"
                      label="Email"
                      type="email"
                      ref="user_email"
                      id="email">
                    </v-text-field>
                  </v-flex>
                </v-layout>
                <v-layout row>
                  <v-flex xs12>
                    <v-text-field
                      name="password"
                      label="Password"
                      type="password"
                      ref="user_password"
                      id="password">
                    </v-text-field>
                  </v-flex>
                </v-layout>
                <v-layout row>
                  <v-flex xs12>
                    <v-btn type="submit">Sign Up</v-btn>
                  </v-flex>
                </v-layout>
              </form>
            </v-container>
          </v-card-text>
        </v-card>
      </v-flex>
    </v-layout>
  </v-container>
</template>

<script>
  import axios from 'axios'
  import router from 'vue-router'

  export default {
    data() {
      return {
        errors: [],
      }
    },
    methods: {
      onSubmit: function () {
        axios.post('/users', {
          user: {
            email: this.$refs.user_email.value,
            password: this.$refs.user_password.value
          }
        })
        .then(response => {
        })
        .catch(error => {
          this.errors.push(error.response.data.errors);
        })
      }
    }
  }
</script>

它主要收集从服务器返回的错误。这些是我想在出现问题时显示的错误消息。

EXAMPLE:

如果电子邮件为空,这将捕获“email_is_blank”消息errors大批。但是我如何使用 Vue.js 和 Vuetify 获取该消息并将其显示在表单中?


Codepen 示例 https://codepen.io/traxo/pen/PgxarL

一种方法是创建带有值和错误字符串的对象:

data: () => ({
  email: {
    value: '',
    error: ''
  }
})

然后将您的模型绑定到对象value,以及反对的错误消息error:

<v-text-field
  v-model="email.value"
  label="email"
  :error-messages="email.error"
></v-text-field>

在您的响应中只需更改值error:

...
.then(response => {
  this.email.error = response.errors.email // or whatever the path is to the relevant error message from the server
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 vue.js 和 vuetify 进行服务器端表单验证 的相关文章

  • 为什么我从 c# 到 js 得到不同的 MD5 哈希值?

    我有一个用于加密密码的 C 函数 System Security Cryptography MD5CryptoServiceProvider md5Provider new System Security Cryptography MD5C
  • 使用 jquery-chosen 插件更新 vuejs 模型值

    尝试使用jquery 选择 http harvesthq github io chosen 使用 vue 问题是这个插件隐藏了我应用的实际选择v model 所以当我选择一个值时 vue 不会将其识别为选择更改事件 并且模型值不会更新 当我
  • Vue模板-渲染HTML特殊字符代码

    如何在我的 Vue 模板中完全渲染 HTML 特殊字符代码 例如我有这个 JSON 数据 id post91 slug null title Breakfast 038 Tea 我怎样才能转换Breakfast 038 Tea to Bre
  • Laravel Vue SPA 与 MPA/SSR

    许多 laravel vue 教程使用 ajax 调用来获取数据 看来 SPA 与 Laravel 是完全隔离的 IE Laravel 只是一个数据 API vue 应用程序也可以简单地托管在第三方外部服务器 例如 AWS S3 上 这是推
  • $vuetify.goTo 不会在 v-card 组件内滚动

    我有一个带有 v 卡的组件 我在卡片标题区域放置了一个简单的按钮 当我单击时 我看到该方法被触发 它显示在控制台中 但是 卡片永远不会滚动 如果我输错了类名 则会收到错误 因此 goTo 似乎会执行某些操作 因为它找不到该类 没有拼写错误
  • 是否可以限制用户登录 Firebase 应用的设备数量?

    语境 我正在帮助使用 Vue 更新 Cordova 应用程序 以从基于订阅的收入 用户必须付费才能访问该应用程序 转变为基于广告的收入 用户可以免费注册 但将拥有他们在使用应用程序时显示的广告 我们想要做的一部分是限制用户可以拥有帐户的设备
  • 将 VueJs 组件添加到 Django 模板中

    我正在开发一个 Django 网站 我希望将一些 Vue 组件 散布 到 Django 渲染的模板中 我正在单个存储库中工作 并使用 webpack 设置来创建我在 Django 模板中使用的 style js 包 我正在努力让功能按照我想
  • node.js、vue.js 和express.js 堆栈开发

    我正在尝试使用 Linux 上的 Visual Studio Code IDE 使用 vue js express js 和 node js 创建一个 Web 应用程序 根据网上的一些文档 我读到安装 vue js 后 可以创建一个vue
  • 模拟安装挂钩 Jest 测试装置

    我正在对组件进行一些单元测试 但是 在某些组件中 我有一些东西在运行mounted使我的测试失败的钩子 我设法模拟了我不需要的方法 但是 我想知道是否有一种解决方法可以模拟mounted钩住自己 components attendeesLi
  • Web 扩展中共享 vuex 状态(死对象问题)

    我正在尝试在网络扩展中使用共享的 vue js 状态 状态存储在后台脚本的 DOM 中并呈现在弹出页面中 第一次尝试 我的第一次尝试是使用一个没有 vuex 的简单商店 背景 js var store count 0 popup js br
  • Asyncdata 与 Fetch 之间的区别

    获取数据和异步数据之间的确切区别是什么 官方文档是这么说的 异步数据 您可能想要获取数据并在服务器端呈现它 Nuxt js 添加 asyncData 方法 让您可以在之前处理异步操作 设置元件数据 异步数据每次在加载组件之前调用 仅适用于
  • 如何在Vue中提交表单,重定向到新路由并传递参数?

    我正在使用 Nuxt 和 Vue 我正在尝试提交表单 将用户重定向到包含提交的参数的新路由 发送 API 请求以获取一些数据 然后渲染该数据 我通过简单地将表单操作设置为新路径并手动将所有 URL 参数添加到 API 请求来实现此目的 首先
  • 如何在Vue中获取输入字段值

    我是 Vue 新手 我需要一些帮助来从输入字段获取值 在我的表格中 我有
  • npm run dev 和 npm run production 之间的区别

    我对 Laravel 和 vue js 很陌生 请让我知道它们之间有什么区别npm run dev and npm run production 这和环境有关系吗 npm run dev创建源映射并且不会缩小 js css 这使得调试和查找
  • Nuxt.js 多个资源的根路由和根级 slugs

    我正在使用 Nuxt 构建一个电子商务前端 我希望为尽可能多的资源提供根级 slugs 最重要的是目录路径和产品 URL 一个明显的方法是使用 Nuxt 文件结构进行路由创建 com category men Tshirt com cate
  • 不使用Vue可以使用Vuex吗? (Vuex 服务器端?)

    Vuex 抱怨如果不调用 Vue use Vuex 就无法创建新的 store 实例 虽然这通常没问题 但我正在摆弄使用同一商店编写后端 前端的想法 有人知道答案吗 Thanks TL DR 你可以在 Node 中完美使用 Vuex 无需浏
  • vue如何检测页面是否刷新?

    我尝试这样 created window addEventListener beforeunload function event event returnValue Write something this router push 像这样
  • 有没有V型斗篷的反面?

    根据VueJS 文档 https v2 vuejs org v2 api v cloak v cloak 指令可用于隐藏未编译的 Mustache 绑定 直到 Vue 实例准备就绪 换句话说 我可以隐藏一个div或类似的东西 当 vue 准
  • 用变量字符串设置槽的简单方法?

    有许多slot例子 但没有克莱尔和简单 因为我需要 我需要类似的东西 var x Hello slot x 这就是我需要的 在一个具体的例子中 https jsfiddle net 2qdh3x3v https jsfiddle net 2
  • VueJS 中数据无法正确显示

    我的 VueJS 代码有一个小问题 在 输出 压缩的 GS1 数字链接 URI 部分中 When there is no result it should have nothing display like this I have remo

随机推荐

  • T4 获取解决方案的当前工作目录

    我在 Visual Studio 2010 中使用 T4 并且想要迭代解决方案中的文件 但是我发现 T4 源代码生成在一种沙箱中工作 并且当前工作目录位于 Visual Studio 10 目录内在程序文件中 有没有一种方法可以相对论地引用
  • 与关注者|朋友用户的自引用关系

    为了建立用户之间的关系 创建了一个如下所示的表 sql CREATE TABLE friends from INT NOT NULL to INT NOT NULL UNIQUE INDEX from to 你可能知道 领域from and
  • 是否可以通过其他方式增加 google colab 中的内存?

    当我在 google colab 中运行此代码时 n 100000000 i while True i append n 10 66 这种事经常发生在我身上 我的数据量很大 在达到 12 72 GB RAM 后 但我没有立即看到崩溃提示和增
  • 如何使用spring boot制作通用库

    现在我想为我们的系统开发一个通用的邮件服务 当我们设计时 我们希望开发一个RabbitMQ生产者和消费者 在消费者方面 我们可以开发和部署Spring Boot or Spring Cloud应用程序 但在生产者方面 我们希望提供一个通用的
  • 如何使用 Code::Blocks 链接到库?

    C GUI 教程 对 TextOut 的未定义引用 https stackoverflow com questions 2180755 c gui tutorial undefined reference to textout 218078
  • boto3 upload_file 方法中支持对象级别标记

    我想在将文件上传到 S3 时为其添加标签 Boto3 支持使用 put object 方法指定标签 但是考虑到预期的文件大小 我使用 upload file 函数来处理分段上传 但此函数拒绝 标记 作为关键字参数 import boto3
  • JellyBean 中的 RecognitionListener 如果不立即对话就会冻结

    我正在开发的一个基于语音识别的应用程序可以在从 API 8 Android 2 2 开始的所有 Android 版本上运行良好 但在 Nexus S 4G Android 4 1 1 上 RecognitionListener 将简单地暂停
  • iPhone XR / XS / XS Max CSS 媒体查询

    用于定位 Apple 2018 设备 iPhone XR XS XS Max 的正确 CSS 媒体查询是什么 iPhone XR 1792x828px at 326ppi media only screen and device width
  • Warden 回调应该放置在 Rails 应用程序中的什么位置?

    我对 Rails 比较陌生 我已设置 Devise 并希望在用户登录后运行一些回调代码 看着典狱长维基页面 https github com hassox warden wiki Callbacks 我可以使用 after set user
  • 增加 Windows Mobile 5 模拟器存储

    我正在使用 Microsoft Sync Framework 将 SQL Server 数据库与 Windows Mobile 5 模拟器上的 SQL Compact SDF 文件同步 我们部署的实际设备中有一个 2 GB SD 卡 因此我
  • 在 post 方法中隐藏表单操作 url

    我下面有这段代码 我想将其插入新脚本中
  • Android 风格 Intent Activity

    如何根据口味创建活动意图 等级制度 main ActivityA flavor free uses main ActivityA flavor paid uses own paid ActivityA 那么如何根据当前的风味创建一个Inte
  • 检查 iPhone 中的网络可达性后应用程序崩溃?

    我有一个 mpmovieplayercontroller 来播放在线音乐和 avaudiosesion 在后台播放相同的音乐 当第一次应用程序在没有网络访问的情况下启动时 通常我显示 没有互联网连接 当我在连接到互联网并播放后尝试时显示错误
  • 如何创建具有视觉源安全的 diff 文件?

    如果我想用svn创建一个目录的补丁文件 我需要做的就是右键单击该目录 单击tortoiseSVN 然后单击创建补丁 我就有了一个很好的补丁文件 其中包含了最新版本的差异svn 上的代码和我机器上的代码 有没有办法构建隐藏在 VSS 中的 d
  • 从历史任务中获取表单密钥

    我们从任务服务获取表单密钥 就像下面的代码片段一样 for Task task getTaskService createTaskQuery taskCandidateGroupIn candidateGroup initializeFor
  • iMessage 扩展和应用内购买

    我正在尝试使用 InApp Purchase 功能创建 iMessage 扩展 基本上我创建了一个 iMessage 应用程序 它创建了两个目标 您的应用程序目标 消息扩展 并且每个都有它自己的包标识符 扩展名有 app 前缀 现在我正在尝
  • 如何创建具有动态“zero_state”的dynamic_rnn(推理失败)

    我一直在使用 dynamic rnn 来创建模型 该模型基于 80 个时间周期信号 我想在每次运行之前将 initial state 归零 因此我设置了以下代码片段来完成此操作 state cell L1 zero state self B
  • 使用 JavaScript/jQuery 下载文件

    我有一个非常相似的指定要求here https stackoverflow com questions 1296085 download file using jquery 我需要让用户的浏览器在以下情况下手动开始下载 a someID c
  • 自定义 shebang 的 VSCode 语法高亮显示

    在工作中 我们在自定义环境下运行 python 因此我们使用非标准的 shebang 我测试过VSCode可以识别python文件without py 扩展名 如果他们有 shebang usr bin env python or usr
  • 使用 vue.js 和 vuetify 进行服务器端表单验证

    我看到了很多有关使用 Vuetify 进行客户端验证的文档 但发现很难找到有关 vuetify 和 vue 的服务器端验证消息的文档 PROBLEM 我有这个组件