laravelden dönen çeşitli hata mesajlarını formda is-invalid olarak göstermeyi anlatmaya çalışıyorum. daha çok yeniyim kodun eskidiğini düşünürseniz kapatın bu sayfayı.
ilk önce ilgili componentin data bölümüne field ve errors ekleyin.
1 2 3 4 5 6 |
data() { return { fields: [], errors: [], }; }, |
örnek bir method da bu olsun;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
storeAccountUser() { axios .post("/api/AccountUser", { username: this.form.username, name: this.form.name, api_key: this.form.api_key, api_secret: this.form.api_secret, platform: this.form.platform, }) .then(res => { this.$router.push({ name: "PlatformUsersIndex" }); }).catch(error => { if (error.response.status === 422) { this.errors = error.response.data.errors || {}; } }); }, |
burada 422li kısım bizim işimizi görüyor. 422 ile dönüyor çünkü laravel validation hataları.
template içindeki forma geliyoruz. örnek username satırını koyuyorum sadece gerisi sizde.
1 2 3 4 5 |
<div class="form-group" style="margin-top: 10px"> <label>API Key</label> <input type="text" :class="{ 'form-control is-invalid':errors.api_key,'form-control':!errors.api_key }" id="api_key" v-model="form.api_key" placeholder="API Key"> <div v-if="errors.api_key" class="text-danger">{{ errors.api_key[0] }}</div> </div> |
daha kolayını bulan varsa iletebilir. şimdilik işimizi görür bence. yok frontende ayrı validation, backende ayrı. boş boş uğraşmayın amk. backend düşünsün. hata olursa iletir zaten.