Rym*_*mrk 4 reactjs material-ui
如何[^%<>\\$'"]在 Material-UI 上进行验证或不允许输入以下特殊字符TextField。
以下是我现有的代码。
const useStyles = makeStyles((theme) => ({
textField: {
marginRight: theme.spacing(1),
width: 500,
},
FormLabelHeader:{
fontSize: '20px',
width: 500,
},
})
enter code here
const txtNameChange = (e) =>
{
setpersonDetails(prevState =>({
...prevState,
'NAME' : e.target.value
}))
}
.....
<FormControl>
<FormLabel className = {style.FormLabelHeader}>Add</FormLabel><br/>
<TextField className = {style.textField} label='NAME' name = 'NAME' variant='outlined' autoComplete='off' onChange={txtNameChange}/><br />
</FormControl>
Run Code Online (Sandbox Code Playgroud)
我怎样才能进行验证
helperText您可以通过设置 的和error属性来验证值后提供错误消息TextField:
const [name, setName] = useState("");
const [error, setError] = useState("");
const onChange = (e) => {
const newValue = e.target.value;
if (!newValue.match(/[%<>\\$'"]/)) {
setError("");
} else {
setError("Forbidden character: %<>$'\"");
}
setName(newValue);
};
return (
<TextField
value={name}
onChange={onChange}
helperText={error} // error message
error={!!error} // set to true to change the border/helperText color to red
/>
);
Run Code Online (Sandbox Code Playgroud)
或不允许进入
由于您已经在代码中控制了 的值TextField,因此如果验证失败,请不要更新状态:
const onChange = (e) => {
const newValue = e.target.value;
if (!newValue.match(/[%<>\\$'"]/)) {
setError("");
setName(newValue); // only set when successful
} else {
setError("Forbidden character: %<>$'\"");
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9627 次 |
| 最近记录: |