validaciones en agregar invitados
This commit is contained in:
parent
9adba28ee1
commit
0ebe59cb80
|
@ -20,27 +20,68 @@ export default function AgregarInvitados({ navigation }) {
|
|||
const [tenant_id, setTenant_id] = useState();
|
||||
const [community_id, setCommunity_id] = useState();
|
||||
const { user } = useContext(UserContext);
|
||||
const [errors, setErrors] = useState({});
|
||||
|
||||
const saveInvitado = async() => {
|
||||
const [info, setInfo] = useState({
|
||||
name: "",
|
||||
last_name: "",
|
||||
dni: "",
|
||||
phone: "",
|
||||
number_plate:"",
|
||||
status: "-0",
|
||||
tenant_id: user._id,
|
||||
community_id: user.community_id
|
||||
});
|
||||
|
||||
const data = {
|
||||
"name": name,
|
||||
"last_name": apellido,
|
||||
"dni": dni,
|
||||
"phone": phone,
|
||||
"number_plate": number_plate,
|
||||
"status":"-0",
|
||||
"tenant_id": user.id,
|
||||
"community_id": user.community_id
|
||||
const onHandleChange = (name) => (value) => setInfo(prev => ({...prev, [name]: value}))
|
||||
|
||||
const validate = async() => {
|
||||
|
||||
if( info.name === "" && info.last_name === "" && info.dni === "" && info.phone === ""){
|
||||
setErrors({ ...errors,
|
||||
name: 'Debe ingresar un nombre',
|
||||
last_name: 'Debe ingresar un apellido',
|
||||
dni: 'Debe ingresar un número de identificación',
|
||||
phone: 'Debe ingresar un número de teléfono'
|
||||
});
|
||||
return false;
|
||||
}else if (info.name === "" ) {
|
||||
setErrors({ ...errors,
|
||||
name: 'Debe ingresar un nombre'
|
||||
});
|
||||
return false;
|
||||
} else if(info.last_name === ""){
|
||||
setErrors({ ...errors,
|
||||
|
||||
last_name: 'Debe ingresar un apellido'
|
||||
});
|
||||
return false;
|
||||
}else if (info.dni === "") {
|
||||
setErrors({ ...errors,
|
||||
dni: 'Debe ingresar un número de identificación'
|
||||
});
|
||||
return false;
|
||||
}else if (info.phone === "") {
|
||||
setErrors({ ...errors,
|
||||
phone: 'Debe ingresar un número de teléfono'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
const saveInvitado = async() => {
|
||||
const error = await validate();
|
||||
|
||||
if (error) {
|
||||
try {
|
||||
|
||||
await fetch(baseURL, {
|
||||
|
||||
cache: 'no-cache',
|
||||
method: 'POST',
|
||||
body: JSON.stringify(data),
|
||||
body: JSON.stringify(info),
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
|
@ -57,10 +98,13 @@ export default function AgregarInvitados({ navigation }) {
|
|||
console.log("ERROR: " + error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return (
|
||||
<Center>
|
||||
|
||||
<ScrollView width='100%' h='550' ml='36' _contentContainerStyle={{
|
||||
<ScrollView width='100%' h='570' ml='36' _contentContainerStyle={{
|
||||
px: "20px",
|
||||
mb: "4",
|
||||
minW: "72"
|
||||
|
@ -76,26 +120,29 @@ export default function AgregarInvitados({ navigation }) {
|
|||
}} fontWeight="medium" size="xs">
|
||||
Registre el invitado que desee
|
||||
</Heading>
|
||||
<VStack space={3} mt="5">
|
||||
<VStack space={5} mt="5">
|
||||
<FormControl isRequired>
|
||||
<FormControl.Label>Nombre</FormControl.Label>
|
||||
<TextInput style={styles.input} type="text" onChangeText={(value) => setName(value)}/>
|
||||
<TextInput style={'name' in errors ? styles.errorMessage : styles.input} type="text" onChangeText={onHandleChange("name")}/>
|
||||
{'name' in errors && <FormControl.ErrorMessage _text={{
|
||||
fontSize: 'xs'
|
||||
}}>Debe ingresar un correo electrónico</FormControl.ErrorMessage> }
|
||||
</FormControl>
|
||||
<FormControl isRequired>
|
||||
<FormControl.Label>Apellido</FormControl.Label>
|
||||
<TextInput style={styles.input} type="text" onChangeText={(value) => setApellido(value)}/>
|
||||
<TextInput style={'last_name' in errors ? styles.errorMessage : styles.input} type="text" onChangeText={onHandleChange("last_name")}/>
|
||||
</FormControl>
|
||||
<FormControl isRequired>
|
||||
<FormControl.Label>Identificación</FormControl.Label>
|
||||
<TextInput style={styles.input} type="text" onChangeText={(value) => setDNI(value)}/>
|
||||
<TextInput style={'dni' in errors ? styles.errorMessage : styles.input}type="text" onChangeText={onHandleChange("dni")}/>
|
||||
</FormControl>
|
||||
<FormControl isRequired>
|
||||
<FormControl.Label>Teléfono</FormControl.Label>
|
||||
<TextInput style={styles.input} type="text" onChangeText={(value) => setPhone(value)} />
|
||||
<TextInput style={'phone' in errors ? styles.errorMessage : styles.input}type="text" onChangeText={onHandleChange("phone")} />
|
||||
</FormControl>
|
||||
<FormControl >
|
||||
<FormControl.Label>Placa</FormControl.Label>
|
||||
<TextInput style={styles.input} type="text" onChangeText={(value) => setPhone(value)} />
|
||||
<TextInput style={styles.input} type="text" onChangeText={onHandleChange("number_plate")} />
|
||||
</FormControl>
|
||||
<Button mt="2" backgroundColor='tertiary.600' onPress={() => saveInvitado()}>
|
||||
Guardar
|
||||
|
@ -113,7 +160,7 @@ export default function AgregarInvitados({ navigation }) {
|
|||
|
||||
const styles = StyleSheet.create({
|
||||
input: {
|
||||
height: 10,
|
||||
height: 35,
|
||||
margin: 3,
|
||||
borderWidth: 0.5,
|
||||
padding: 5,
|
||||
|
@ -125,6 +172,19 @@ const styles = StyleSheet.create({
|
|||
marginTop: 6,
|
||||
marginBottom: 6,
|
||||
borderRadius: 4
|
||||
},
|
||||
errorMessage: {
|
||||
height: 35,
|
||||
margin: 3,
|
||||
borderWidth: 0.5,
|
||||
padding: 5,
|
||||
flex: 1,
|
||||
paddingTop: 9,
|
||||
paddingRight: 19,
|
||||
paddingLeft: 0,
|
||||
marginTop: 6,
|
||||
borderRadius: 4,
|
||||
borderColor: '#be123c'
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@ export default function LogIn({ navigation }) {
|
|||
const [errors, setErrors] = useState({});
|
||||
|
||||
const [credentials, setCredentials] = useState({
|
||||
email: "",
|
||||
password: ""
|
||||
email: "lalo@lalo.com",
|
||||
password: "12345"
|
||||
});
|
||||
|
||||
const onHandleChange = (name) => (value) => setCredentials(prev => ({ ...prev, [name]: value }))
|
||||
|
|
Loading…
Reference in New Issue