代码之家  ›  专栏  ›  技术社区  ›  Germán

单击提交时,如果文本字段错误匹配,则显示错误提示

  •  0
  • Germán  · 技术社区  · 2 年前

    在react中使用MUI的标准表单上,设置输入类型时 type="email" ,如果地址与一些基本规则不匹配(即“需要@”),则当按下提交按钮时,将显示基本验证器。

    我试图达到同样的效果,如果自定义要求不匹配,则会发出警告消息。因此,我使用属性错误将输入值设置为大于至少9个数字,如果不大于9个数字,则应显示自定义警告消息。

    然而,如下图所示,如果错误匹配,字段将标记为红色,但我可以以任何方式提交表单,这正是我试图避免的。

     <TextField
         fullWidth
         label={<>Teléfono</>}
         value={inp.tel}
         error={inp.tel.length<9}
         type="number"
         onChange={(e)=>anadirValor(e,index,telFormValues,setTelFormValues, "tel")}
         id="outlined-size-small"
         size="small"
         color="primary"
         autoComplete="new-password"
         required
      />
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   Wasim Abuzaher    2 年前

    最简单的方法是 disabled 状态,并将其设置为 true 如果文本字段无效!然后将该状态传递给submit按钮的 残废 支持并阻止单击。

    您还需要将其设置回 false 如果TextField值有效,则可以重新启用submit按钮