Проверьте наличие ошибок опоры, а затем выполните действия, если они есть. Laravel - vue.js

Я использую intertia-vue, и у меня есть реквизиты, в которых находятся ошибки, я хочу проверить, есть ли у меня ошибки после отправки комментария, а затем я НЕ хочу перезагружать страницу, и если ошибок нет, то я НЕ хочу чтобы перезагрузить страницу. Причина, по которой мне нужно перезагрузить страницу, заключается в том, чтобы обновить содержимое внутри, поскольку я показываю комментарии в карточках, информация не загружается автоматически, как в таблице.

Сейчас это вызывает у меня проблему, потому что он перезагружается сразу после отображения ошибки, поэтому у пользователя нет времени прочитать ошибку ("Этот комментарий написан на неподходящем языке").

Вот как я показываю ошибки в vue, это работает, но, как я уже сказал, он перезагружается до того, как пользователь сможет прочитать ошибку.

<el-row class="mb-2">
    <el-col :span="12" :offset="6">
        <span v-if="$page.auth.user.errors">
            <div v-for="error in $page.auth.user.errors">
                <el-alert
                    :closable="true"
                    :title="error[0]"
                    type="error"
                    show-icon>
                </el-alert>
            </div>
        </span>
    </el-col>
</el-row>
<el-row class="mb-2">
    <el-col :span="12" :offset="6">
        <span v-if="$page.auth.user.flash.success">
            <div v-for="success in $page.auth.user.flash">
                <el-alert
                    :closable="true"
                    :title="success"
                    type="success"
                    show-icon>
                </el-alert>
            </div>
        </span>
    </el-col>
</el-row>

Это функция отправки, где она перезагружает страницу

submit() {
    this.$refs.form.validate((valid) => {
         if (valid) {
             this.loading = true;
             if (!this.form.id) {
                 this.$inertia.post(this.baseUrl, {
                     comment: this.form.comment,
                     forum_id: this.forum.id,
                 }).then(
                     () => {
                         this.comments = this.$page.comments;
                         this.loading = false;
                         this.dialogFormVisible = false;
                         window.location.reload();
                     },
                     (res) => {
                         this.$message.error(parseError(res)[0]);
                         this.loading = false;
                     })
             } else {
                 this.$inertia.post(this.customUpdateUrl + '/' + this.form.id, {
                     comment: this.form.comment,
                     forum_id: this.forum.id,
                 }).then(
                     () => {
                         this.comments = this.$page.comments;
                         this.loading = false;
                         this.dialogFormVisible = false;
                         window.location.reload();
                     },
                     (res) => {
                         this.$message.error(parseError(res)[0]);
                         this.loading = false;
                     })
             }

         } else {
             return false;
         }
         this.reset();
    });
},

Я хотел бы знать, что я могу сделать, чтобы это исправить?

0 ответов

Другие вопросы по тегам