Search code examples
node.jsexpressexpress-validator

How do I set a minimum value for a decimal in express-validator


I'm trying to validate my body on a express route and having trouble trying to figure out how to enforce a minimum value for a decimal. I've tried

check("price").exists().isDecimal({min:0})

and

check("price").exists().isDecimal({gt:0})

but neither seems to work


Solution

  • You could try using isFloat(..):

    console.log(validator.isFloat("7", {min: 5}));
    console.log(validator.isFloat("3", {min: 5}));
    console.log(validator.isFloat("5.9995", {min: 5}));
    console.log(validator.isFloat("1.5", {min: 5}));
    console.log(validator.isFloat("-1", {min: 0}));
    <script src="https://cdnjs.cloudflare.com/ajax/libs/validator/13.1.0/validator.js"></script>