Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

yup - allow two digits after comma, minimum and maximum for a decimal

const validationSchema = yup.object({
        amount: yup.number().positive().min(5, 'minimum 5').max(10, 'maximum 10'),
    });

How is possible to add validation for decimal with two digits after comma?

like image 790
Alex Avatar asked Oct 19 '25 04:10

Alex


1 Answers

solved like this:

let patternTwoDigisAfterComma = /^\d+(\.\d{0,2})?$/;
const commonStringValidator = yup
  .number()
  .positive()
  .test(
    "is-decimal",
    "The amount should be a decimal with maximum two digits after comma",
    (val: any) => {
      if (val != undefined) {
        return patternTwoDigisAfterComma.test(val);
      }
      return true;
    }
  )
  .min(5, "minimum 5")
  .max(10, "maximum 10")
  .required("Is required");

const validationSchema = yup.object({
  amount: commonStringValidator,
});
like image 199
Alex Avatar answered Oct 21 '25 17:10

Alex



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!