如何仅当特定Input输入框为空时禁用表单提交按钮?
你不需要使用全局的formState.isValid作为禁用条件,这个属性的判断逻辑是所有带校验规则的输入框全部通过校验才会返回true,自然会包含你不需要强制校验的description字段。
你可以直接单独判断date输入框的独立状态即可,你的表单状态对象中会按输入框的id存储每个字段的校验状态和输入值,直接取id为date的字段状态判断即可,修改后的按钮代码如下:
<Button type="submit" disabled={!formState.inputs.date.isValid}> Submit </Button>
如果你的表单状态没有单独存储每个字段的校验结果,也可以直接判断date输入框的输入值是否为空:
<Button type="submit" disabled={!formState.inputs.date?.value}> Submit </Button>
以上两种写法都只会在date输入框为空/未通过校验时禁用提交按钮,不会受description字段的输入情况影响。
内容的提问来源于stack exchange,提问作者Nati Shy
相关产品推荐
相关产品推荐

