после проверки моих входных данных я хочу отправить форму, но ошибка 422 (Unprocessable Entity) показывает, что я пробую много способов проверки с помощью laravel, но эта же ошибка показывает !!! Я не понимаю, почему, даже если ввести правильные данные, он отвечает с 422 ответом и абсолютно без сообщений об ошибках. Может ли кто-нибудь помочь мне нормализовать поведение валидации? это моя форма в Project. vue:
<form @submit.prevent=" x ? modifier():ajouterProjet()">
<div class="modal-body">
<div class="form-group">
<label>Nom</label>
<input v-model="form.name" type="text" name="name"
class="form-control" :class="{ 'is-invalid': form.errors.has('name') }">
<has-error :form="form" field="name"></has-error>
</div>
<div class="form-group">
<label>Client</label>
<select v-model="form.client_id" type="text" name="client_id"
class="form-control" :class="{ 'is-invalid': form.errors.has('client_id') } " >
<option value="" selected>Selectez Le Client</option>
<option v-for = "(client , index) in clients" :key="index" v-bind:value="client.id">{{ client.name }}</option>
</select>
<has-error :form="form" field="client_id"></has-error>
</div>
<div>
<div class="form-group">
<label>Chef de Projet</label>
<select v-model="form.chefprojet" type="text" name="chefprojet"
class="form-control" :class="{ 'is-invalid': form.errors.has('chefprojet') }">
<option selected value="">Selecter Un Chef de projet</option>
<option v-for = "(chef , index) in chefs" :key="index" v-bind:value="chef.id">{{ chef.name }}</option>
</select>
<has-error :form="form" field="chefprojet"></has-error>
</div>
<label>Membres</label>
<select v-model="form.membre_id" type="text" name="membre_id[]" class="form-control" :class="{ 'is-invalid': form.errors.has('membre_id') } " multiple="multiple">
<option value>Selectez Les membres</option>
<option v-for="(membre , index) in membres" :key="index" v-bind:value="membre.id">
{{ membre.name }}
</option>
</select>
<has-error :form="form" field="membre_id"></has-error>
</div>
<div class="form-group" >
<label>Duree</label>
<input v-model="form.durre" type="text" name="durre"
class="form-control" :class="{ 'is-invalid': form.errors.has('durre') } ">
<has-error :form="form" field="durre"></has-error>
</div>
<div class="form-group">
<label>Description</label>
<textarea v-model="form.description" type="text" name="description"
class="form-control" :class="{ 'is-invalid': form.errors.has('description') }"></textarea>
<has-error :form="form" field="description"></has-error>
</div>
<div class="form-group">
<label>Budget</label>
<input v-model="form.budget" type="text" name="budget"
class="form-control" :class="{ 'is-invalid': form.errors.has('budget') }">
<has-error :form="form" field="budget"></has-error>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" v-show="!x" class="btn btn-primary" >Ajouter</button>
<button type="submit" v-show="x" class="btn btn-primary" >Modifier</button>
</div>
</form>
, и этот сценарий принадлежит Project. vue:
form : new Form({
id:'',
name:'',
durre:'',
description:'',
budget:'',
owner:'',
membres: "",
client_id:"",
membre_id: [],
chefprojet:''
}),
methods:{
ajouterProjet(){
this.form.post("api/projet")
.then(()=>this.form.post('api/chefdeprojet').then(()=>this.form.post('api/userprojet').then(()=>{
fire.$emit('ajoutprojet');
this.form.reset();
$("#AjouterProjet").modal('hide');
Toast.fire({
icon: 'success',
title: 'Projet Ajouter'
})
}).catch(()=>{
})).then(()=>{axios.post('/api/clientpname')
}))
;
},
и это моя функция контроллера:
public function store(Request $request)
{
//
$this->validate($request,[
'name' => 'required|string|max:50',
'durre' => 'required|string|max:50',
'description'=>'required|string|max:255',
'client_id' => 'required',
'budget' => 'required',
'password' => 'required|string|min:6',
'membre_id'=>'required',
'chefprojet'=>'required'
]);
$data = $request->all();
$client = Client::where('id', $data['client_id'])->first();
$projet =new Projet;
$projet->name = $data['name'];
$projet->durre = $data['durre'];
$projet->description = $data['description'];
$projet->client_id = $data['client_id'];
$projet->owner = $client->name;
$projet->budget = $data['budget'];
$projet->save();
}
и это маршрут:
Route::apiResource('projet' ,'API\ProjetController');