📌  相关文章
📜  如何仅使用 express-validator 验证输入字段中的输入是否具有 BIC 或 Swift 代码?(1)

📅  最后修改于: 2023-12-03 15:23:46.151000             🧑  作者: Mango

如何仅使用 express-validator 验证输入字段中的输入是否具有 BIC 或 Swift 代码?

在应用程序中, 验证用户输入是一个很重要的任务, 如果你的应用接受了国际转账, 那么你就需要验证输入中的 BIC 或 Swift 代码. Express-validator 是一个常用的验证库, 它可以让我们轻松地通过自定义验证规则来处理这些验证任务.

安装
npm install express-validator --save
在 Express 应用中设置验证器

在你的应用中设置验证器之前, 你需要先引用 express-validator:

const { validationResult } = require('express-validator/check')
const { matchedData } = require('express-validator/filter')
const { check, sanitize } = require('express-validator')

现在, 我们可以轻松地使用 check 方法来指定我们的验证规则:

app.post('/signup', [
  check('bic').matches(/^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$/),
  check('swift').matches(/^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$/)
], (req, res) => {
  // 这里放置请求的处理逻辑
})

在上面的代码中, 我们使用 check 方法来验证 bicswift 字段是否符合 BIC 或 Swift 代码的格式要求.

check 方法可以接受多个参数, 包括检验规则, 接受一个错误消息的配置对象和一个方法链配置对象.

处理验证结果

在处理逻辑中, 我们可以使用 validationResult 来获取所有错误信息并向客户端返回错误消息:

app.post('/signup', [
  check('bic').matches(/^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$/),
  check('swift').matches(/^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$/)
], (req, res) => {
  const errors = validationResult(req)
  if (!errors.isEmpty()) {
    return res.status(422).json({ errors: errors.array() })
  }
  
  // 这里放置请求的处理逻辑
})

其中, validationResult 方法接受一个请求对象, 并返回一个包含所有错误消息的结果对象. 我们可以使用 isEmpty 方法来检查是否存在任何错误信息. 如果存在错误, 我们可以使用 array 方法来返回一个包含所有错误信息的数组.

验证成功后获取已验证的输入

我们可以使用 matchedData 方法来获取所有已经成功验证的输入参数:

app.post('/signup', [
  check('bic').matches(/^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$/),
  check('swift').matches(/^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$/)
], (req, res) => {
  const errors = validationResult(req)
  if (!errors.isEmpty()) {
    return res.status(422).json({ errors: errors.array() })
  }
  
  const validatedData = matchedData(req)

  // 这里放置请求的处理逻辑
})
结语

Express-validator 提供了方便易用的API, 协助开发者快速构建可靠的表单验证逻辑. 在本文中, 我们展示了如何验证输入中的 BIC 或 Swift 代码. 同样的逻辑也适用于验证其他类型的表单输入.