-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.js
81 lines (76 loc) · 1.78 KB
/
App.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/**
* Validador CBU
*
* @ltenconi
*/
import React, { Component } from 'react';
import {
Platform,
StyleSheet,
Text,
TextInput,
View,
Button
} from 'react-native';
import {validarLargoCBU,validarBloque1,validarBloque2,validarCBU} from "./validadorCBU"
export default class App extends Component {
constructor(props) {
super(props);
this.state = {text: '', cbu: '' };
}
render() {
return (
<View style={styles.container}>
<TextInput
placeholder="Ingrese aquí un CBU para validar"
onChangeText={(text) => {this.textInputOnChangeTextHandler(text)}}
keyboardType={'numeric'}
style={styles.input}
maxLength={22}
ref={ref => this.textInputRef = ref}
/>
<Text style={styles.result}>
{this.state.text}
</Text>
{this.state.cbu.length > 0 &&
<Button onPress={()=>this.buttonOnPressHandler()}
title="Borrar"
/>
}
</View>
);
}
buttonOnPressHandler(){
this.textInputRef.clear();
this.setState({text: '', cbu: ''})
}
textInputOnChangeTextHandler(cbu) {
this.setState({ cbu: cbu})
if(cbu.length == 0) {
this.setState({text: ''})
} else if(cbu.length > 0 && cbu.length < 22) {
this.setState({text: "Resta ingresar " + (22 - cbu.length) + " dígitos"})
} else if (validarCBU(cbu)) {
this.setState({text: "CBU válido"})
} else {
this.setState({text: "CBU Inválido"})
}
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'skyblue'
},
input: {
width: 270,
fontSize: 18
},
result: {
textAlign: 'center',
margin: 10,
fontSize: 20
},
});