小编Tim*_*ith的帖子

Express Validator - 如何处理条件验证

我有一个表格,如果一个人的送货地址与其帐单地址不同,他们将选择一个单选按钮说“不”。

我需要能够检查 this 的值是什么,如果它是“否”,请检查展开的表单。如果是“是”,我会跳到下面的下一个验证。“是”部分正在工作,但“否”部分总是返回无效。有没有办法用这个库在这样的条件中嵌套验证?

这是表格的屏幕截图:

测试表格图片

这是我针对这种情况的验证代码:

    router.post('/testData2/', [
      body('billingSameAsShipping', "Please Fill All Fields Of Your Billing Address").custom((value) => {
        if (value === 'no') {
          [
            body('billingFirstName', "Please Enter Your First Name").isLength({
              min: 1
            }),
            body('billingLastName', "Please Enter Your Last Name").isLength({
              min: 1
            }),
            body('billingAddress1', "Please Enter Your Billing Address").isLength({
              min: 1
            }),
            body('billingZip', "Please Enter Your Billing ZipCode").isLength({
              min: 1
            }),
            body('billingCity', "Please Enter Your Billing City").isLength({
              min: 1
            }),
            body('billingState', "Please Enter Your Billing State").isLength({
              min: 1
            })
          ] …
Run Code Online (Sandbox Code Playgroud)

node.js express validator.js express-validator

3
推荐指数
2
解决办法
7379
查看次数