Laravel验证失败,自动重定向到登录页面



我在我的生产模式项目中使用了laravel 9, inertia和vue js。我已将我的项目部署到共享主机。

但是,如果我测试填写空白的表单输入,验证不工作,并重定向我回到登录页面。我的期望是验证消息将显示在文本框下,但它不是。

My store function:

public function store(Request $request)
{
$this->validate($request, [
'name' => 'required|unique:kecamatans',
'order' => 'required',
]);
Kecamatan::create([
'name' => $request->name,
'order' => $request->order,
]);
return redirect()->route('apps.kecamatans.index');
}

我的形式:

<form @submit.prevent="submit">
<div class="mb-3">
<label class="fw-bold">Nama Kecamatan</label>
<input class="form-control" v-model="form.name" :class="{ 'is-invalid': errors.name }" type="text"
placeholder="Nama kecamatan">
</div>
<div v-if="errors.name" class="alert alert-danger">
{{ errors.name }}
</div>
<div class="mb-3">
<label class="fw-bold">Urutan</label>
<input class="form-control" v-model="form.order" :class="{ 'is-invalid': errors.order }" type="text"
placeholder="Urutan">
</div>
<div v-if="errors.order" class="alert alert-danger">
{{ errors.order }}
</div>
<div class="row">
<div class="col-12">
<ButtonInCreateVue url="kecamatans"></ButtonInCreateVue>
</div>
</div>
</form>

设置脚本:

setup() {
const form = reactive({
name: '',
order: '',
latitude: '',
longitude: ''
});
const submit = () => {
Inertia.post('/apps/kecamatans', {
name: form.name,
order: form.order,
}, {
onSuccess: () => {
successAlert('Kecamatan', 'ditambah')
},
});
}
return {
form,
submit,
}
}

我的路线:

Route::resource('/kecamatans', AppHttpControllersAppsKecamatanController::class, ['as' => 'apps'])
->middleware('permission:kecamatans.index|kecamatans.create|kecamatans.edit|kecamatans.delete');

它在我的本地计算机上正常工作,但不能在主机上工作。如果我检查控制台日志,没有错误。

您是否在ajax请求中传递了身份验证令牌?尝试在您的头中传递身份验证令牌,然后它应该可以工作。

最新更新