【问题标题】:Yup validation to accept more than 0 input digit. Like user can enter 0.001 or 0.0001. But not only 0是的,验证接受超过 0 个输入数字。喜欢的用户可以输入 0.001 或 0.0001。但不仅仅是0
【发布时间】:2021-10-10 12:22:26
【问题描述】:

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

是的验证

  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>```


【问题讨论】:

    标签: reactjs formik yup


    【解决方案1】:

    将您的 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'
         ...
       />
    

    【讨论】:

    • getting --- TypeError: yup__WEBPACK_IMPORTED_MODULE_5__.string(...).required(...).moreThan 不是函数
    • 代替 Yup.string().... 写 Yup.number()...
    • 谢谢我改了,现在没有显示错误。但它唯一的作用是,我不能填充负值。但我仍然能够保存具有 0 值的表单
    • 提供一些你想保存的值
    猜你喜欢
    • 1970-01-01
    • 2020-05-11
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    相关资源
    最近更新 更多