接受大于0个输入数字的验证.用户可以输入0.001或0.0001.但不只是0



我正在做一个项目,在管理面板上,医生可以为他们的治疗设置佣金。但它只能是2位数长。但佣金不能为0。它可以是0.01或0.001。我用formik和yup创建了一个表单。但是不知道如何设置这个工作的输入字段。我试过了。已搜索,但未找到任何解决方案。

<<p>是的验证/strong>
commission: Yup.string()
.required()
.matches(/^[0-9]+$/, "Commission should contain only digits")
// .min(1, 'Must be exactly 1 digits')
.max(2, "Commission should not be more than 2 digits"),

输入字段代码

<div className="form-group">
<label>
Commission(%) <span className="text-danger">*</span>{" "}
</label>
<input
type="text"
className="form-control"
name="commission"
value={formik.values.commission}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
min="0.01"
></input>
{formik.touched.commission &&
formik.errors.commission ? (
<div className="err">{formik.errors.commission}</div>
) : null}
</div>```

将yup验证更新为:

commission: Yup.number()
.required()
.moreThan(0, 'commision should not be zero or less than zero')
.lessThan(100, "Commission should not be more than 2 digits"),

并更改输入字段类型:

<input
type='number'
...
/>

最新更新