【问题标题】:Is there a way to sanitize all the fields in a particular form in one go?有没有办法一次性以特定形式清理所有字段?
【发布时间】:2017-10-14 20:56:43
【问题描述】:

我正在使用 express-validator 在服务器端验证和清理我的表单。许多验证和清理在各个领域都很常见。 比如我在做

check('field name here")
  .exists()
  .trim()
  .escape()
  .xss()

在几乎所有字段上,并且在所有不同字段中手动指定它们变得非常多余。有没有办法可以应用验证条件并一起清理所有字段?

【问题讨论】:

    标签: forms validation express express-validator


    【解决方案1】:

    您可以将数组传递给check,例如:

    check(['field1', 'field2', 'field3'])
      .exists()
      .trim()
      .escape()
      .xss();
    

    显然,这仍然需要一个明确的字段名称列表,而不仅仅是应用于“所有”,但如果没有明确的列表,验证器将无法知道哪些字段应该存在。

    【讨论】:

    • 实际上,一个可以使用*,但这仅适用于一级深度。如果有任何嵌套字段必须通过相同的过程,那么您需要为每个级别执行*.* 等等
    • @gustavohenke 我不关注,如果不指定字段名称,它如何执行exists() 检查?
    • 嗯,你是对的 :) 但如果验证是另一个,那就更好了。
    • 我可以按照您提到的对常见验证进行检查,然后使用特定字段再次调用检查以验证特定于它的另一个条件吗?
    猜你喜欢
    • 2020-05-18
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    相关资源
    最近更新 更多