completed admin-fathers-registerTemporary api

このコミットが含まれているのは:
dragon1211 2021-10-24 10:29:11 +09:00
コミット d177c449ea
2個のファイルの変更71行の追加101行の削除

ファイルの表示

@ -31837,60 +31837,45 @@ var ParentRegister = function ParentRegister() {
_422errors = _useState4[0], _422errors = _useState4[0],
set422Errors = _useState4[1]; set422Errors = _useState4[1];
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({ var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
status: '',
msg: ''
}),
_useState6 = _slicedToArray(_useState5, 2), _useState6 = _slicedToArray(_useState5, 2),
_400error = _useState6[0], _400error = _useState6[0],
set400Error = _useState6[1]; set400Error = _useState6[1];
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''), var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
_useState8 = _slicedToArray(_useState7, 2), _useState8 = _slicedToArray(_useState7, 2),
submitStatus = _useState8[0], _success = _useState8[0],
setSubmitStatus = _useState8[1]; setSuccess = _useState8[1];
var validateForm = function validateForm() { var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
var errors = {}; _useState10 = _slicedToArray(_useState9, 2),
var formIsValid = true; submit = _useState10[0],
setSubmit = _useState10[1];
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 handleSubmit = function handleSubmit(e) { var handleSubmit = function handleSubmit(e) {
e.preventDefault(); e.preventDefault();
set400Error({ setSubmit(true);
status: '', var formdata = new FormData();
msg: '' 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", { return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
@ -31926,32 +31911,39 @@ var ParentRegister = function ParentRegister() {
type: "email", type: "email",
name: "email", name: "email",
id: "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, value: email,
onChange: function onChange(e) { onChange: function onChange(e) {
return setEmail(e.target.value); 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", 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", { }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
className: "mt-5", className: "mt-5",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_5__.default, { children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_5__.default, {
type: "submit", type: "submit",
fullWidth: true, 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", { children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", {
className: "ft-16", className: "ft-20",
children: "\u89AA\u8FFD\u52A0" children: "\u89AA\u8FFD\u52A0"
}) })
}) })
}), submitStatus == 'success' && /*#__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: "success",
children: "Submit Success!"
}), submitStatus == 'fail' && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_component_alert__WEBPACK_IMPORTED_MODULE_2__.default, {
type: "fail", 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
})] })]
}) })
}) })

ファイルの表示

@ -13,53 +13,29 @@ const ParentRegister = () => {
const [email, setEmail] = useState(''); const [email, setEmail] = useState('');
const [_422errors, set422Errors] = useState({email:''}) const [_422errors, set422Errors] = useState({ email: '' });
const [_400error, set400Error] = useState({status:'', msg:''}) 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) => { const handleSubmit = (e) => {
e.preventDefault(); e.preventDefault();
set400Error({status:'', msg:''});
if(!validateForm()) return;
setSubmit(true);
const formdata = new FormData(); const formdata = new FormData();
// formdata.append('email', email); formdata.append('email', email);
// axios.post('/', formdata) axios.post('/api/admin/fathers/registerTemporary', formdata)
// .then(response => { .then(response => {
// if(response.data.status_code==200){ setSubmit(false);
// setSubmitStatus('success); switch(response.data.status_code){
// } case 200: setSuccess(response.data.success_messages); break;
// else if(response.data.status_code==400){ case 422: set422Errors(response.data.error_messages); break;
// setSubmitStatus('failed); case 400: set400Error(response.data.error_messages); break;
// } }
// }) })
// .catch(err=>console.log(err)) .catch(err=>console.log(err))
} }
@ -81,25 +57,27 @@ const ParentRegister = () => {
<div className="edit-set"> <div className="edit-set">
<label htmlFor="email" className="control-label ft-12"> メールアドレス </label> <label htmlFor="email" className="control-label ft-12"> メールアドレス </label>
<input type="email" name="email" id="email" className = {`input-default input-nameSei ${ _422errors['email'].length != 0 && "is-invalid c-input__target" }`} value={email} onChange={e=>setEmail(e.target.value)}/> <input type="email" name="email" id="email" className = {`input-default input-nameSei input-h60 ${ _422errors.email && "is-invalid c-input__target" }`} value={email} onChange={e=>setEmail(e.target.value)}/>
{ {
_422errors['email'].length != 0 && _422errors.email &&
<span className="l-alert__text--error ft-16 ft-md-14"> <span className="l-alert__text--error ft-16 ft-md-14">
{_422errors['email']} { _422errors.email }
</span> </span>
} }
</div> </div>
<div className="mt-5"> <div className="mt-5">
<LoadingButton type="submit" fullWidth className="p-3 rounded-15 font-weight-bold text-black bg-yellow"> <LoadingButton type="submit" fullWidth
<span className="ft-16">親追加</span> className="p-3 rounded-15 font-weight-bold bg-yellow input-h60"
loading={submit}>
<span className="ft-20">親追加</span>
</LoadingButton> </LoadingButton>
</div> </div>
{ {
submitStatus == 'success' && <Alert type="success">Submit Success!</Alert> _400error && <Alert type="fail" hide={()=>set400Error('')}>{_400error}</Alert>
} }
{ {
submitStatus == 'fail' && <Alert type="fail">Submit Failed!</Alert> _success && <Alert type="success" hide={()=>setSuccess('')}>{_success}</Alert>
} }
</form> </form>