我正在经历验证表格的麻烦。我的表格在下面给出,这是最小的可复制的。
我使用React Material UI
作为表单。
import React from 'react';
import TextField from '@material-ui/core/TextField';
import { FormGroup } from '@material-ui/core';
function App(props) {
const validator = {
number: {
rules: [
{
test: /([\d]+)/,
message: 'numaric must contain only numeric characters',
},
{
test: (value) => {
return value.length > 5;
},
message: 'phone must be longer than five characters',
},
],
errors: [],
valid: false,
state: '',
},
};
const [values, setValues] = React.useState({
ssn: '',
phone: '',
email: '',
country: '',
});
const handleChange = name => event => {
setValues({ ...values, [name]: event.target.value });
};
return (
<React.Fragment>
<div>
<FormGroup autoComplete="on">
<TextField
id=""
label="Phone"
value={values.phone}
onChange={handleChange('phone')}
type="number"
validators={validator}
name='phone'
/>
</FormGroup>
</div>
</React.Fragment>
);
}
export default App;
我希望如果用户插入小于5的值,他们会得到一个错误消息,如果他们不插入数字,他们会得到另一个错误消息。
我正在经历麻烦来实现这个简单的验证
我需要帮助,如果有人能在这件事上帮助我,那就太好了。
我已经用正则表达式写了一个验证器,但我不知道如何实现它来显示错误消息。
有人能帮帮我吗?
2条答案
按热度按时间gg58donl1#
我有一个类似的情况下,我需要测试,如果文本字段是空的。我在material-ui中做了下面的方式。你有错误和helpertext可以做验证和显示各自的消息。
材质用户界面文本字段验证
并检查phoneNumber长度变化
7gyucuyw2#
我们可以通过以下方式验证表单值数组