title: Why express validator oneOf is not working as expected
body: <p>I'm building a project in NodeJS and I'm also using Express. To validate my requests from the client I'm using Express validator and the methods check, oneOf, body, and etc. 
  I built my PUT endpoint and in parallel also I implemented a validation for the fields to update using <code>oneOf</code>. My goal is that when a client tries to update should at least change one of the fields otherwise a message should come ups informing the client nothing was updated. 
  My issue is that the PUT updates ignoring my check I implemented and cannot understand the issue as I already did similar before and was working perfectly.</p>
  
  <p>My validator for update looks like:</p>
  
  <pre><code>const updateBookRules = [
      oneOf([
          check("title")
              .exists()
              .withMessage("Title is required"),
          check("category")
              .exists()
              .withMessage("Category is required"),
          check("price")
              .isNumeric()
              .withMessage("Price should be a number"),
          check("img")
              .exists()
              .withMessage("Img is required"),
          sanitizeBody("price").toFloat()
      ])
  ];
  </code></pre>
  
  <p>In the route, I'm calling this validation as:</p>
  
  <pre><code>// PUT Update a book
  router.put("/:asin", check.updateBook, check.rules, async (req, res) =&gt; {
      // Request ID
      const asin = req.params.asin;
      // Await the book
      await book
          // Call model to update the product
          .updateBook(asin, req.body)
          // Response a message
          .then(book =&gt;
              res.json({
                  message: `The book #${asin} has been updated`,
                  content: book
              })
          )
          // Errors if any
          .catch(err =&gt; {
              if (err.status) {
                  res.status(err.status).json({ message: err.message });
              }
              res.status(500).json({ message: err.message });
          });
  });
  </code></pre>
  
  <p>The strange is the validation is ignored and I can put also empty strings and no error happens I don't know what is my mistake.</p>
  
  <p>Please comment if you would like to see something more and I will update the question.</p>