HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago_test/node_modules/node-input-validator/lib/rules/between.js
const numeric = require('./numeric');

module.exports = function between({ attr, value, args }) {
  if (args.length !== 2) {
    throw new Error(`The number of arguments for between in the field ${attr} are invalid.`);
  }

  let [min, max] = args;

  if (!numeric({ value: min }) || !numeric({ value: max })) {
    throw new Error(`Seeds must be numeric for ${attr} under between rule.`);
  }

  min = parseFloat(min);
  max = parseFloat(max);

  if (min >= max) {
    throw new Error(`Seed min must be less then max in between rule for ${attr}.`);
  }

  if (Array.isArray(value)) {
    if (value.length < min || value.length > max) {
      return false;
    }
    return true;
  }

  if (numeric({ value })) {
    const val = Number(value);

    if (val < min || val > max) {
      return false;
    }

    return true;
  }

  return false;
};