import React, { useEffect, useState } from 'react'; import ReactDOM from 'react-dom'; import { Button } from '@material-ui/core'; import { LoadingButton } from '@material-ui/lab'; import axios from 'axios'; const Contact = () => { const [email, setEmail] = useState(''); const [message, setMessage] = useState(''); const [errors, setErrors] = useState({ email:'', message:'' }) const [err_msg, setErrMsg] = useState('') const handleSubmit = (e) => { e.preventDefault(); setErrMsg(''); if(!validateForm()) return; const formdata = new FormData(); formdata.append('email', email); formdata.append('message', message); axios.post('/contacts/register/', formdata) .then(response => { if(response.data.status_code==200){ window.location.href = '/contact-us/complete'; } }) .catch(err=>{setErrMsg('Server Error!')}); } const validateForm = () => { let errors = {}; let formIsValid = true; if (email.length == 0) { formIsValid = ''; 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"] = "Wrong Email Address"; } else { errors['email'] = ''; } } if(message.length == 0){ formIsValid = false; errors['message'] = 'Required'; } else errors['message'] = ''; setErrors(errors); return formIsValid; } return (

お問い合わせ

{ err_msg && {err_msg} }
setEmail(e.target.value)} autoFocus/> { errors['email'].length != 0 && {errors['email']} }