diff --git a/backend/public/js/app.js b/backend/public/js/app.js index f41f2553..a37e758d 100644 --- a/backend/public/js/app.js +++ b/backend/public/js/app.js @@ -31837,60 +31837,45 @@ var ParentRegister = function ParentRegister() { _422errors = _useState4[0], set422Errors = _useState4[1]; - var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({ - status: '', - msg: '' - }), + var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''), _useState6 = _slicedToArray(_useState5, 2), _400error = _useState6[0], set400Error = _useState6[1]; var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''), _useState8 = _slicedToArray(_useState7, 2), - submitStatus = _useState8[0], - setSubmitStatus = _useState8[1]; + _success = _useState8[0], + setSuccess = _useState8[1]; - var validateForm = function validateForm() { - var errors = {}; - var 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'] = ''; - } - } - - set422Errors(errors); - return formIsValid; - }; + var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false), + _useState10 = _slicedToArray(_useState9, 2), + submit = _useState10[0], + setSubmit = _useState10[1]; var handleSubmit = function handleSubmit(e) { e.preventDefault(); - set400Error({ - status: '', - msg: '' + setSubmit(true); + var formdata = new FormData(); + formdata.append('email', email); + axios__WEBPACK_IMPORTED_MODULE_1___default().post('/api/admin/fathers/registerTemporary', formdata).then(function (response) { + setSubmit(false); + + switch (response.data.status_code) { + case 200: + setSuccess(response.data.success_messages); + break; + + case 422: + set422Errors(response.data.error_messages); + break; + + case 400: + set400Error(response.data.error_messages); + break; + } + })["catch"](function (err) { + return console.log(err); }); - if (!validateForm()) return; - var formdata = new FormData(); // formdata.append('email', email); - // axios.post('/', 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 /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", { @@ -31926,32 +31911,39 @@ var ParentRegister = function ParentRegister() { type: "email", name: "email", id: "email", - className: "input-default input-nameSei ".concat(_422errors['email'].length != 0 && "is-invalid c-input__target"), + className: "input-default input-nameSei input-h60 ".concat(_422errors.email && "is-invalid c-input__target"), value: email, onChange: function onChange(e) { return setEmail(e.target.value); } - }), _422errors['email'].length != 0 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", { + }), _422errors.email && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", { className: "l-alert__text--error ft-16 ft-md-14", - children: _422errors['email'] + children: _422errors.email })] }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", { className: "mt-5", children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_5__.default, { type: "submit", fullWidth: true, - className: "p-3 rounded-15 font-weight-bold text-black bg-yellow", + className: "p-3 rounded-15 font-weight-bold bg-yellow input-h60", + loading: submit, children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", { - className: "ft-16", + className: "ft-20", children: "\u89AA\u8FFD\u52A0" }) }) - }), submitStatus == 'success' && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_component_alert__WEBPACK_IMPORTED_MODULE_2__.default, { - type: "success", - children: "Submit Success!" - }), submitStatus == 'fail' && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_component_alert__WEBPACK_IMPORTED_MODULE_2__.default, { + }), _400error && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_component_alert__WEBPACK_IMPORTED_MODULE_2__.default, { type: "fail", - children: "Submit Failed!" + hide: function hide() { + return set400Error(''); + }, + children: _400error + }), _success && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_component_alert__WEBPACK_IMPORTED_MODULE_2__.default, { + type: "success", + hide: function hide() { + return setSuccess(''); + }, + children: _success })] }) }) diff --git a/backend/resources/js/admin/parent/register.jsx b/backend/resources/js/admin/parent/register.jsx index 98b237d7..05ea4685 100644 --- a/backend/resources/js/admin/parent/register.jsx +++ b/backend/resources/js/admin/parent/register.jsx @@ -13,53 +13,29 @@ const ParentRegister = () => { const [email, setEmail] = useState(''); - const [_422errors, set422Errors] = useState({email:''}) - const [_400error, set400Error] = useState({status:'', msg:''}) + const [_422errors, set422Errors] = useState({ email: '' }); + const [_400error, set400Error] = useState(''); + const [_success, setSuccess] = useState(''); - const [submitStatus, setSubmitStatus] = useState('') + const [submit, setSubmit] = useState(false); - - 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'] = ''; - } - } - - set422Errors(errors); - return formIsValid; - } - - const handleSubmit = (e) => { e.preventDefault(); - set400Error({status:'', msg:''}); - - if(!validateForm()) return; + setSubmit(true); const formdata = new FormData(); - // formdata.append('email', email); - // axios.post('/', 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)) + formdata.append('email', email); + axios.post('/api/admin/fathers/registerTemporary', formdata) + .then(response => { + setSubmit(false); + switch(response.data.status_code){ + case 200: setSuccess(response.data.success_messages); break; + case 422: set422Errors(response.data.error_messages); break; + case 400: set400Error(response.data.error_messages); break; + } + }) + .catch(err=>console.log(err)) } @@ -81,25 +57,27 @@ const ParentRegister = () => {
- setEmail(e.target.value)}/> + setEmail(e.target.value)}/> { - _422errors['email'].length != 0 && + _422errors.email && - {_422errors['email']} + { _422errors.email } }
- - 親追加 + + 親追加
{ - submitStatus == 'success' && Submit Success! - } + _400error && set400Error('')}>{_400error} + } { - submitStatus == 'fail' && Submit Failed! + _success && setSuccess('')}>{_success} }