Business Logic Input Validation
Description
Detects business-critical values (discount, refund, quantity) used without validation.
What Shoulder detects
How to fix
Validate business-critical inputs before use.
```javascript
function validateDiscount(discount) {
const value = parseFloat(discount);
if (isNaN(value) || value < 0 || value > 100) {
throw new Error('Discount must be 0-100');
}
return value;
}
const validated = validateDiscount(req.body.discount);
applyDiscount(validated);
```
Learn more: https://shoulder.dev/learn/javascript/cwe-20/business-logic-input-validation
Applies to
Languages
Frameworks
express
fastify
nextjs
koa
References
Scan for this issue
Detect with Shoulder CLI
npx @shoulderdev/cli trust --rule=javascript-business-logic-input-validation .
Real-world examples
Known CVEs in the Improper Input Validation vulnerability class that this rule helps detect.