Reactjs React本机表单验证错误(“this.validate不是函数”)

Reactjs React本机表单验证错误(“this.validate不是函数”),reactjs,validation,react-native,Reactjs,Validation,React Native,当我使用下面的代码单击“this.\u on pressButton”时出现此错误。无法找出发生这种情况的原因或找到解决方案。提前谢谢 import React,{Component}来自'React'; 从“react native”导入{View,Text,TextInput,TouchableHighlight}; 从“react native form validator”导入ValidationComponent; 导出默认类FormTest扩展ValidationComponent

当我使用下面的代码单击“this.\u on pressButton”时出现此错误。无法找出发生这种情况的原因或找到解决方案。提前谢谢

import React,{Component}来自'React';
从“react native”导入{View,Text,TextInput,TouchableHighlight};
从“react native form validator”导入ValidationComponent;
导出默认类FormTest扩展ValidationComponent{
建造师(道具){
超级(道具);
this.state={name:“我的名字”,电子邮件:tibtib@gmail.com,编号:“56”,日期:“2017-03-01”};
}
_按按钮(){
//调用ValidationComponent验证方法
这个。验证({
名称:{minlength:3,maxlength:7,必需:true},
电子邮件:{email:true},
编号:{numbers:true},
日期:{日期:'YYYY-MM-DD'}
});
}
render(){
返回(
this.setState({name})value={this.state.name}/>
this.setState({email})value={this.state.email}/>
this.setState({number})值={this.state.number}/>
this.setState({date})值={this.state.date}/>
提交
{this.getErrorMessages()}
);
}
}
试试看

更新: 我想您需要使用这个propthis.isFormValid()工具


如果有效,您可以提交您的表单…etc

问题在于onPress分配。 这样做:

<TouchableHighlight onPress={() => {this._onPressButton}}}>
    <Text>Submit</Text>
</TouchableHighlight>
{this.\u onPressButton}}>
提交

如果您执行
onPress={this.\u onPressButton}
this.\u onPressButton将在未按下的情况下自动调用。您必须将onPress函数放在arrow函数中,比如
onPress={()=>{//这里是您的函数}

显示的代码中没有验证函数,这就解释了错误。关于调用ValidationComponent validate方法@jojojonarte应该做什么,我认为您的类和导入混淆了。根据您提供的信息,此错误是有意义的。这是什么?看起来您应该已经从react native form validator导入了validate…谢谢,关于如何进行表单验证的任何示例。无法找到解决方案。[link]()@gavinthomast我能想到的唯一一件事是,他们在示例中忘记了“绑定”函数谢谢。现在,错误消失了,但单击Submita时什么也没有发生。您是否希望它因为提供了错误数据而抛出错误?如果您只是使用这个包来验证表单数据,我建议您从头开始。。。这里是我的singupComponent的链接,我使用REGEX验证数据。。。同时,我会核对你使用的包裹的文件是的,加文,谢谢。我会开始尝试你给的那个。这里是我正在推的那个的链接[链接]()
constructor(props) {
    super(props);
    this.state = {name : "My name", email: "tibtib@gmail.com", number:"56", date: "2017-03-01"};
this._onPressButton = this._onPressButton.bind(this)

  }
<TouchableHighlight onPress={() => {this._onPressButton}}}>
    <Text>Submit</Text>
</TouchableHighlight>