Javascript 如何在单击按钮时显示不同的错误消息?
您能告诉我如何在点击按钮时显示不同的错误信息吗?实际上,当Javascript 如何在单击按钮时显示不同的错误消息?,javascript,reactjs,Javascript,Reactjs,您能告诉我如何在点击按钮时显示不同的错误信息吗?实际上,当模式不匹配时,应该显示模式不匹配。目前我只能显示必需的消息。这是我的代码 <TextField inputRef={register({ required: true, pattern: /^[A-Za-z]+$/i })} label="First name" variant="outlined" name="firstName"
模式
不匹配时,应该显示模式不匹配
。目前我只能显示必需的
消息。这是我的代码
<TextField
inputRef={register({ required: true, pattern: /^[A-Za-z]+$/i })}
label="First name"
variant="outlined"
name="firstName"
required
helperText={errors.firstName && "First name is required"}
error={errors.firstName ? true : false}
/>
您可以使用类似于包的东西。使用它,您将能够减少编写自己验证所需的代码量,也可以考虑角情况。 首先定义验证函数:
import validator from 'validator';
const required = (value) => {
if (!value.toString().trim().length) {
// We can return string or jsx as the 'error' prop for the validated Component
return 'require';
}
};
const email = (value) => {
if (!validator.isEmail(value)) {
return `${value} is not a valid email.`
}
};
...
然后,在需要时,将它们插入您的表单:
export default class Login extends Component {
render() {
return <Form>
<h3>Login</h3>
<div>
<label>
Email*
<Input value='email@email.com' name='email' validations={[required, email]}/>
</label>
</div>
...
导出默认类登录扩展组件{
render(){
返回
登录
电子邮件*
...
查看他们的文档。这是一个应用非常广泛的软件包,应该很容易实现。希望这与您的示例相符
用您的正则表达式替换正则表达式
从“React”导入React;
从“react dom”导入react dom;
从“react hook form”导入{useForm};
从“@material ui/core”导入{TextField,Button}”;
从“@material ui/lab/Autocomplete”导入自动完成;
从“yup”导入{object,string};
类用户名扩展了React.Component{
建造师(道具){
超级(道具)
this.state={errorText:'',值:props.value}
}
onChange(事件){
if(event.target.value.match(/[abc]/g)){
this.setState({errorText:'errr'})
}否则{
this.setState({errorText:'无效格式'})
}
}
render(){
返回(
)
}
}
const rootElement=document.getElementById(“根”);
ReactDOM.render(,rootElement);
你可能需要一个全面的验证服务/libshow你能给我一个例子吗你能用一些例子改变代码沙盒吗有一些相关的lib,但是如果你想自己做,这里有一个我的例子你能在我的例子中使用吗请在我的例子中帮助更新