客户端然后服务器上的表单验证

时间:2017-10-25 13:45:40

标签: javascript forms validation web vuejs2

我正在使用vue.js和REST Services(java)设计一个Web应用程序。

我有一个非常复杂的形式: - 类型检查:电子邮件是格式良好的电子邮件 - 密码检查:密码文本字段和重新输入密码文本字段匹配? - 2个下拉菜单:如果我在下拉列表1中选择选项A,则在下拉列表2中,选项{R,T}应仅出现。

因此,处理这个问题的一个简单方法是: 1.使用javascript或某些vue插件对客户端进行适当的检查。 2.重新检查服务器上的所有内容,确保没有人“破解”提交的json。

主要问题是我会对支票进行两次编码。

什么是更好的方法?

祝你好运

2 个答案:

答案 0 :(得分:0)

无论如何,您应该至少将验证保留在服务器上。

最简单的方式: 在服务器上保持验证,在收到无效数据时发送错误消息。 在客户端,您可以用红色标签向用户显示从服务器收到的错误消息,以便用户知道出了什么问题。

好方法: 在客户端和服务器上保持验证。在将表单提交给服务器之前,用户应该知道某些内容是否无效。

为什么客户端和服务器都是: 如果遗漏了某些内容,或者用户绕过了UI验证,则服务器将处理REST。 有人甚至可能只使用API​​,而不是你的表单,然后他们需要知道出了什么问题。

答案 1 :(得分:0)

在评论时,出于安全原因,您无法跳过后端表单验证

然后,您必须考虑是否值得在前端(Vue)部分验证表单。通常是在提交之前的可用性问题(显示更好的错误消息,更改输入颜色等)。有几个库可以帮助您实现此目的,例如

  • vue-validator:这是由Kazuya开发的最受欢迎的一个 Kawaguchi,Vue的核心成员之一。 (与...不兼容 Vue 2)

  • vue-form-generator:一个Vue.js插件,它还可以构建表单以及验证。我已经在Vue.js Feed上写了一篇关于它的小型教程。

  • vee-validate:是一个与Vue 1和Vue 2兼容的新模块。它看起来非常有前景,是我将在此使用的模块 教程。

  • Vuelidate:Vue.js 2.0基于模型的简单验证

here和其他几个提取(检查github)。

Vue提供内置表单验证功能(输入类型,预期输入(字符串,数字等)),您可以从计算属性中获取优势以执行更复杂的计算(即有效的电子邮件)和显示/隐藏用户填写表单时的错误。

我通常在表格(类型,无效字符,最大长度,最小长度等)和后端进行双重检查,基本验证。但最终取决于你的决定。

希望它有所帮助!