import React, { useEffect, useState } from 'react'; import { useHistory } from 'react-router-dom'; import axios from 'axios'; import { LoadingButton } from '@material-ui/lab'; import Alert from '../../component/alert'; const ChildEdit = () => { const history = useHistory(); const [first_name, setFirstName] = useState(''); const [last_name, setLastName] = useState(''); const [identify, setIdentify] = useState(''); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [company, setCompany] = useState(''); const [image, setImage] = useState(''); const [errors, setErrors] = useState({ first_name:'', last_name:'', identify:'', email:'', password:'', image:'', company:'' }) const [err_msg, setErrMsg] = useState({status:'', msg:''}) const [submitStatus, setSubmitStatus] = useState('') const validateForm = () => { let errors = {}; let formIsValid = true; if (email.length == 0) { formIsValid = false; errors["email"] = 'Required'; } else { //regular expression for email validation var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); if (!pattern.test(email)) { formIsValid = false; errors["email"] = 'Required'; } else { errors['email'] = ''; } } if(!image){ formIsValid = false; errors['image'] = 'Required'; } else errors['image'] = ''; if(first_name.length == 0){ formIsValid = false; errors['first_name'] = 'Required'; } else errors['first_name'] = ''; if(identify.length == 0){ formIsValid = false; errors['identify'] = 'Required'; } else errors['identify'] = ''; if(last_name.length == 0){ formIsValid = false; errors['last_name'] = 'Required'; } else errors['last_name'] = ''; if(password.length < 8){ formIsValid = false; errors['password'] = 'Required'; } else errors['password'] = ''; if(company.length == 0){ formIsValid = false; errors['company'] = 'Required'; } else errors['company'] = ''; setErrors(errors); return formIsValid; } const handleSubmit = (e) => { e.preventDefault(); setErrMsg({status:'', msg:''}); if(!validateForm()) return; const formdata = new FormData(); formdata.append('first_name', first_name); formdata.append('last_name', last_name); formdata.append('identify', identify); formdata.append('email', email); formdata.append('password', password); formdata.append('company', company); formdata.append('image', image); // axios.post('/api/children/updateProfile/{identify}', formdata) // .then(response => { // if(response.data.status_code==200){ // setSubmitStatus('success); // } // else if(response.data.status_code==400){ // setSubmitStatus('failed); // } // }) // .catch(err=>console.log(err)) } return (

プロフィール編集

setIdentify(e.target.value)}/> { errors['identify'].length != 0 && {errors['identify']} }
setFirstName(e.target.value)}/> { errors['first_name'].length != 0 && {errors['first_name']} }
setLastName(e.target.value)}/> { errors['last_name'].length != 0 && {errors['last_name']} }
setEmail(e.target.value)}/> { errors['email'].length != 0 && {errors['email']} }
setPassword(e.target.value)}/> { errors['password'].length != 0 && {errors['password']} }
setCompany(e.target.value)}/> { errors['company'].length != 0 && {errors['company']} }
プロフィールを更新
{ submitStatus == 'success' && Submit Success! } { submitStatus == 'failed' && Submit Failed! }
) } export default ChildEdit;