درود و خسته نباشید
تا جایی که میدونم در استفاده ی ویو در لاراول در یک صفحه ی .blade یک دیو گذاشته میشه و آی دی همون دیو داخل فایل جی اس داده میشه به عنوان element یا همون el
حالا وقتی که من چند تا صفحه ی blade لاراول دارم و احتیاج دارم که بعد از لاگین شدن کاربر بک صفحه ی دیگه منتقل بشه چیکار باید کنم؟
ممکنه که چند تا فایل جی اس با el های متفاوت داشته باشم؟
شما میخواید بشکل spa کار کنید یا غیر spa ؟
اگر بشکل معمول میخواید کار کنید تنها کافیه component خودتون رو در Vue اصلی ثبت کنید و از تگش داخل هر جای از blade که میخوای استفاده کنید البته باید داخل el اصلی باشه همین . نیاز به چند el نیست و کار درستی هم نیست اصلا
@hesammousavi
و اگه بخوام که اعتبار سنجی کنم توی ویو چطور انجامش بدم... منظورم اینه مقاله ی ساده ای ازش دارین
وقتی سرچ کردم اطلاعاتی که میداد بعضی جاهاش مبهم بود
@alighalehban1379
در ویو به ۲ صورت میشه اعتبارسنجی کنیم.
همچنین از پکیجهای زیر هم میتونید استفاده کنید:
https://github.com/monterail/vuelidate
https://baianat.github.io/vee-validate/
@Serjik
اعتبارسنجی رو میتونید از سمت سرور هم انجام بدین و نتیجه و ارورها رو تو view نمایش بدین.
// CreatePost.vue
<template>
<div class="container">
<div class="col-md-8 ml-auto mr-auto">
<div class="form">
<h3 class="text-center">افزودن مطلب جدید</h3>
<form method="post" @submit.prevent="addPost">
<div class="form-group">
<label for="title">عنوان مطلب</label>
<input type="text" :class="['form-control', allerros.title ? 'is-invalid' : '']" name="title" id="title"
placeholder="عنوان مطلب را وارد کنید" v-model="post.title" autofocus>
<div v-if="allerros.title" :class="['invalid-feedback']">
{{ allerros.title[0] }}
</div>
</div>
<div class="form-group">
<label for="description">توضیحات مطلب</label>
<textarea :class="['form-control', allerros.body ? 'is-invalid' : '']" name="description" id="description"
placeholder="توضیحات مطلب را وارد کنید" v-model="post.body" rows="5"></textarea>
<div v-if="allerros.body" :class="['invalid-feedback']">
{{ allerros.body[0] }}
</div>
</div>
<button type="submit" class="btn btn-primary btn-lg btn-block">ثبت</button>
</form>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
post: {},
allerros: [],
success: false,
}
},
methods: {
addPost() {
// console.log(this.post);
let uri = 'http://127.0.0.1/LaravelVue/api/post/create';
this.axios.post(uri, this.post).then((response) => {
event.preventDefault();
Swal.fire({
title: 'آیا از ثبت اطلاعات مطمئن هستید؟',
type: 'warning',
focusConfirm: false,
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'اره!',
cancelButtonText: 'نه!',
}).then((result) => {
if (result.value) {
// alert('added');
this.$router.push({name: 'posts'});
}
})
}).catch((error) => {
this.allerros = error.response.data.errors;
this.success = false;
});
},
},
}
</script>
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟