【发布时间】:2020-02-12 11:10:26
【问题描述】:
我有一个使用 Material ui 表单构建的反应功能组件,其中包含 TextField 和 onChange 事件在“容器组件”中处理。下面是我需要添加required 作为客户端表单验证的表单代码,但是它不起作用。我还需要在容器组件中添加一些逻辑吗?
<form className={classes.container}>
<Grid container item xs={12} alignItems="center">
<TextField
id="outlined-bare"
className={classes.textField1}
defaultValue=""
required
margin="normal"
variant="outlined"
autoComplete="on"
InputProps={{ style: { height: 40 } }}
onChange={(e) => handleChange(e, 'Name')}
/>
这是容器组件中的事件处理程序,如下所示
setInput = (e, source) => {
e.preventDefault();
switch (source) {
case "Name":
this.setState({
...this.state,
Name: e.target.value
})
break;
default:
this.setState({...this.state})
break;
}
}
return (
<div>
<Drawer
route={routes.abc}
history={this.props.history}
handleChange={this.setInput}
/>
</div>
)
出了什么问题,遗漏了什么?我是 ReactJs 的新手。请建议。
【问题讨论】:
-
你的提交功能是什么?那是我要进行客户端验证的地方,但我没有看到。
-
@BrianThompson 我有一个
Submit函数,它将读取在 TextField 中输入的值并调用 redux 操作。我需要先进行验证..谢谢 -
@BrianThompson 你认为这可能还是我应该在提交函数中检查
TextField值?在这种情况下,required在哪里工作?
标签: javascript reactjs forms validation material-ui