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],
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
})]
})
})

ファイルの表示

@ -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 = () => {
<div className="edit-set">
<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">
{_422errors['email']}
{ _422errors.email }
</span>
}
</div>
<div className="mt-5">
<LoadingButton type="submit" fullWidth className="p-3 rounded-15 font-weight-bold text-black bg-yellow">
<span className="ft-16">親追加</span>
<LoadingButton type="submit" fullWidth
className="p-3 rounded-15 font-weight-bold bg-yellow input-h60"
loading={submit}>
<span className="ft-20">親追加</span>
</LoadingButton>
</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>