Node.js 我怎样才能显示一个;“电子邮件id已存在”;React.js中的消息?
如何使用React.js显示“电子邮件id已存在”消息 我已检查后端中的“电子邮件id已存在”条件。但我不明白如何在文本框附近显示该消息 我已尝试在警报中显示该消息 这是登记表:Node.js 我怎样才能显示一个;“电子邮件id已存在”;React.js中的消息?,node.js,reactjs,Node.js,Reactjs,如何使用React.js显示“电子邮件id已存在”消息 我已检查后端中的“电子邮件id已存在”条件。但我不明白如何在文本框附近显示该消息 我已尝试在警报中显示该消息 这是登记表: var RegistrationForm = React.createClass({ //get initial state enent getInitialState : function(){ return { strF
var RegistrationForm = React.createClass({
//get initial state enent
getInitialState : function(){
return {
strFullName : '',
strEmail:'',
strPassword : '',
Fields : [],
intPhoneNumber:''
}
},
// submit function
handleSubmit : function(e){
e.preventDefault();
//Validate entire form here
var validForm = true;
this.state.Fields.forEach(function(field){
if (typeof field.isValid === "function") {
var validField = field.isValid(field.refs[field.props.name]);
console.log("validField "+validField);
validForm = validForm && validField;
}
});
console.log("form"+validForm);
//after validation complete post to server
if (validForm) {
alert("ok");
//pass data to server
axios.post("/register",
{
full_name :this.state.strFullName,
email:this.state.strEmail,
password:this.state.strPassword,
phone_number:this.state.intPhoneNumber,
}).then(function (response) {
var data=response.data;
alert("Email already exist");
});
}
this.setState({
strFullName:'',
strEmail:'',
intPhoneNumber:'',
strPassword:''
})
},
render : function(){
//Render form
return(
<MyInput type={'email'}
value={this.state.strEmail}
label={'Email'}
name={'Email'}
htmlFor={'Email'}
isrequired={true}
onChange={this.onChangeEmail}
onComponentMounted={this.register}
strMessageRequired={'Please Enter Email.'}
strMessageEmail={'Please Enter Correct Email'} />
);
}
});
module.exports=RegistrationForm;
这将呈现父组件,然后呈现MyInput组件。
然后,您需要将其作为道具传递给子组件
<MyInput type={'email'}
value={this.state.strEmail}
label={'Email'}
name={'Email'}
htmlFor={'Email'}
isrequired={true}
onChange={this.onChangeEmail}
onComponentMounted={this.register}
strMessageRequired={'Please Enter Email.'}
strMessageEmail={'Please Enter Correct Email'}
error={this.state.error || null} //new addition
/>
这将使用另一个属性,即“错误”呈现MyInput
现在,在MyInput的render方法中,您可以如下处理:
if(!this.props.error){
return (<div className="message">{this.props.error}</div>
}
if(!this.props.error){
返回({this.props.error}
}
或者如果您想显示介于两者之间的内容,请使用react条件渲染。
编辑以显示错误
在输入框上方或下方添加此行
{this.props.error > 0 &&
<h2>
{this.props.error}
</h2>
}
{this.props.error>0&&
{this.props.error}
}
这将呈现父组件,然后呈现MyInput组件。
然后,您需要将其作为道具传递给子组件
<MyInput type={'email'}
value={this.state.strEmail}
label={'Email'}
name={'Email'}
htmlFor={'Email'}
isrequired={true}
onChange={this.onChangeEmail}
onComponentMounted={this.register}
strMessageRequired={'Please Enter Email.'}
strMessageEmail={'Please Enter Correct Email'}
error={this.state.error || null} //new addition
/>
这将使用另一个属性,即“错误”呈现MyInput
现在,在MyInput的render方法中,您可以如下处理:
if(!this.props.error){
return (<div className="message">{this.props.error}</div>
}
if(!this.props.error){
返回({this.props.error}
}
或者如果您想显示介于两者之间的内容,请使用react条件渲染。
编辑以显示错误
在输入框上方或下方添加此行
{this.props.error > 0 &&
<h2>
{this.props.error}
</h2>
}
{this.props.error>0&&
{this.props.error}
}
您可以编辑问题并发布完整的MyInput组件吗?您可以从后端获取响应并打印它,因为从后端获得响应是显而易见的。我从后端获得响应。请参阅此axios.post(“/register”,{full_name:this.state.strFullName,email:this.state.strEmail,密码:this.state.strPassword,电话号码:this.state.intPhoneNumber,})您好,我已经提高了您问题的可读性,并使标题更加具体。您可以编辑问题并发布完整的MyInput组件吗?您可以从后端获取响应并打印出来,因为从后端获得响应是显而易见的。我从后端获得响应。请参阅此axios.post(“/register”{full_name:this.state.strFullName,email:this.state.strEmail,密码:this.state.strPassword,电话号码:this.state.intPhoneNumber,})}您好,我已经提高了您问题的可读性,并使标题更具体一些。谢谢您的帮助。您的回答在技术上是正确的,先生。我尝试了这个。但它不起作用。如果-->if(!this.props.error){return({this.props.error}这只是一个示例用例。它需要放在渲染函数中。其余,只有当我需要显示此错误的确切方式时,我才能指导您。它不显示错误消息。我希望当用户输入emai id时,如果存在相同的eamil-id,则在电子邮件id的文本框附近显示错误刚刚编辑了答案,您可以显示e错误。有关详细信息,请参阅此链接。简言之,如果存在this.props.error,则您没有其他错误。感谢您的帮助。您的回答在技术上是正确的,先生。我尝试了此选项。但它不起作用。将此-->if(!this.props.error){返回({this.props.error}放在何处这只是一个示例用例。它需要放在渲染函数中。其余,只有当我需要显示此错误的确切方式时,我才能指导您。它不显示错误消息。我希望当用户输入emai id时,如果存在相同的eamil-id,则在电子邮件id的文本框附近显示错误刚刚编辑了答案,您可以显示e错误。有关更多详细信息,请参阅此链接。简言之,如果存在this.props.error,则存在错误,否则不存在错误。