【问题标题】:React Validation Max Range Using Formik使用 Formik 反应验证最大范围
【发布时间】:2020-10-18 00:34:33
【问题描述】:

我正在尝试使用 React 和 Formik 进行验证。我想实现最大位数只有 2,最大范围应该只有 12。

expiryMonth: yup.string().required('Select month').max(2, 'Invalid month format (Example: 06)'),

【问题讨论】:

    标签: javascript reactjs formik yup


    【解决方案1】:

    你可以用这个:

    yup.string()
      .required("Select month")
      .min(2, "Invalid month format (Example: 06)")
      .max(2, "Invalid month format (Example: 06)")
      .matches(/^(0?[1-9]|1[012])$/, "Month must be greater than 0 and can't be exceeded 12");
    
    

    【讨论】:

    • 嗨!你有一个错误,我试着写 06,它输出一个错误。请检查。谢谢
    • 我觉得没问题,请查看my sandbox并检查。
    • 正则表达式的意思是,如果第一个位置是0,那么它可以在第二个位置上取1-9,或者如果第一个位置是1,那么它只能在第二个位置上取0,1,2 .我认为这种情况在你的情况下是可以的。我希望它会有所帮助。
    • 它不起作用。请检查我创建的代码框codesandbox.io/s/material-demo-w6z12?file=/demo.js。我尝试输入 01、02、03、04、05、06、07、08、09。但 10 等... 有效。请检查
    • 您的文本字段被声明为number 类型,将其从number 更改为string。它会起作用的。
    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 2016-09-18
    • 2020-07-28
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    相关资源
    最近更新 更多