سلام من چطور متونم آبجکت تو در تو در state داشته باشه برای post کردن دیتا
و همینطور در فرم و Validator صدا بزنم چون الان روی حالت ارور میده
this.state = {
fields : {
username : '',
firstname: '',
lastname: '',
image:'',
vehicle:{
name:'',
pelak:''
}
},
errors : {
}
}
قسمت validator
//vehicle name
if(validator.isEmpty(fields.vehicle.name)){
formIsValid = false;
errors['name'] = "نام خودرو خالی است";
} else if(! validator.isLength(fields.vehicle.name , { min : 3 , max : 100})) {
formIsValid = false;
errors['name'] = "فرمت نام خودرو اشتباه است";
}
handleRequest(){
const { username } = this.state.fields;
const { firstname } = this.state.fields;
const { lastname } = this.state.fields;
const { name } = this.state.fields.vehicle;
const { pelak } = this.state.fields.vehicle;
let officerID = localStorage.getItem('officer_id');
axios({
method : 'post',
url:`http://pand.meandme.ir:4040/officer/${officerID}/driver`,
data : {
username,
firstname,
lastname,
image,
vehicle:{
name,
pelak
}
},
config:{ headers : {'Accept': 'application/json','Content-Type':'application/json'}}
})
.then(response => {
console.log('success');
this.props.history.push(`/driver`);
})
.catch(error => {
console.log(error);
})
}
سلام
برای validate که فکر میکنم باید فیلدهات رو از state بگیری الان شما همینطوری نوشتین پس فکر نکنم اصلا چیزی بیاره برای ولیدیشن کردن
برای axios هم فکر کنم روش زیر رو انجام بدی بهتره بعدش باید ببینی چه خطایی میده اون خطا رو رفع کنی
let { username,firstname,lastname,name,pelak} = this.state.fields
try{
axios.post(url,{username,firstname,name,pelak})}
catch(error){console.log(error)}
در نهایت توصیه میکنم کدت رو تکه تکه تست کن ببین کجا داری خطا میگیری و دلیلش چیه
روش ارسال تصویرت هم اشتباه هست حالا دقیقا اشاره نکردین ولی اگر میخوای یه تصویر کامل بفرستی اینجوری جواب نمیده
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟