Ali Ghaleyan
6 سال پیش توسط Ali Ghaleyan مطرح شد
4 پاسخ

مشکل در استفاده ویو جی اس در لاراول

درود و خسته نباشید
تا جایی که میدونم در استفاده ی ویو در لاراول در یک صفحه ی .blade یک دیو گذاشته میشه و آی دی همون دیو داخل فایل جی اس داده میشه به عنوان element یا همون el
حالا وقتی که من چند تا صفحه ی blade لاراول دارم و احتیاج دارم که بعد از لاگین شدن کاربر بک صفحه ی دیگه منتقل بشه چیکار باید کنم؟

ممکنه که چند تا فایل جی اس با el های متفاوت داشته باشم؟


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 6 سال پیش مطرح شد
1

شما میخواید بشکل spa کار کنید یا غیر spa ؟
اگر بشکل معمول میخواید کار کنید تنها کافیه component خودتون رو در Vue اصلی ثبت کنید و از تگش داخل هر جای از blade که میخوای استفاده کنید البته باید داخل el اصلی باشه همین . نیاز به چند el نیست و کار درستی هم نیست اصلا


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 6 سال پیش مطرح شد
0

@hesammousavi
و اگه بخوام که اعتبار سنجی کنم توی ویو چطور انجامش بدم... منظورم اینه مقاله ی ساده ای ازش دارین
وقتی سرچ کردم اطلاعاتی که میداد بعضی جاهاش مبهم بود


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش آپدیت شد
0

@alighalehban1379
در ویو به ۲ صورت میشه اعتبارسنجی کنیم.

  • اعتبار سنجی سمت کلاینت:
    در این روش مواردی که لازمه اعتبارسنجی روشون انجام بشه ساده هستند و داخل جاوااسکریپت قابل تعریفند.

همچنین از پکیج‌های زیر هم میتونید استفاده کنید:
https://github.com/monterail/vuelidate
https://baianat.github.io/vee-validate/

  • اعتبار سنجی سمت سرور:
    باید چک کنید اگر اطلاعات ورودی در سمت سرور صحیح نیستند چیزی ذخیره نشه و به صفحه قبل ریدایرکت بشید.

عرفان همتی
تخصص : Backend Developer
@erfanhemmati 5 سال پیش مطرح شد
0

@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>

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام