javascript - 隐藏错误直到用户离开输入
问题描述
我实际上是在用输入创建我的表单!我在state
每个的底部创建了一个TextInput
来判断用户输入的真假!!但是,当我运行我的应用程序时,默认情况下它给我的一切都是假的,这是有道理的,因为输入都是空白的!我希望这些错误默认隐藏并显示,直到用户离开每一个输入!这是一个输入的示例
注册.js
this.state{
mail:""
}
...
<TextInput
onChangeText ={(value)=> this.setState({mail : value})}
style={{
width:200,
height:40
}}
placeholder='xyz@email.com'
/>
...
render () {
const regexMail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
const mail = this.state
return (
...
{ regexMail.test(mail) != true
? <Text>Mail invalide</Text>
: <Text>Mail valide</Text>
}
解决方案
尝试这个
<TextInput onChangeText={(value) => this.state.mail = value}
onBlur={() => this.forceUpdate()}
onFocus={() => {
this.state.mailTouched = true;
}}
style={{
width: 200,
height: 40
}} placeholder='xyz@email.com' />