Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeError: _vm.formData.errors.has is not a function #111

Closed
shifoodew opened this issue Sep 26, 2020 · 2 comments
Closed

TypeError: _vm.formData.errors.has is not a function #111

shifoodew opened this issue Sep 26, 2020 · 2 comments

Comments

@shifoodew
Copy link

shifoodew commented Sep 26, 2020

Good day.

can you help me how to fix the error I encountered?
I followed the instruction at vform

I installed the package using: npm i axios vform

dashboard.blade.php

 @section('custom_js')
    <script src="{{ asset('js/vendor/jquery.dataTables.js') }}"></script>
    <script src="{{ asset('js/vendor/dataTables.bootstrap4.js') }}"></script>
    <script src="{{ asset('js/vendor/dataTables.responsive.min.js') }}"></script>
    <script src="{{ asset('js/vendor/responsive.bootstrap4.min.js') }}"></script>
    <script src="{{ asset('js/membership.js') }}" ></script>
 @endsection

membership.js

window.Vue = require('vue');
window.moment = require('moment');

import VueRouter from 'vue-router';
import MembershipDashboard from '.././components/Member/MembershipDashboard.vue';
import MemberFormComponent from '.././components/Member/MemberFormComponent.vue';

Vue.use(VueRouter)

const router = new VueRouter({
    routes: [
        {
             path: '/',  name: 'member' ,component: MembershipDashboard, props: true 
        },
        { 
            path: '/create-member',  name: 'add-member' ,component: MemberFormComponent, props: true,
        }
    ]
});

const app = new Vue({
    router,
    el: '#membership-dashboard',
    components: { MembershipDashboard, MemberFormComponent }
});

MemberFormComponent.vue

<template>
    <div>
        <form id="accountForm" @submit.prevent="submitForm" @keydown="form.onKeydown($event)">
            <div class="col-12 col-md-4">
                <label>First Name<span class="text-danger">*</span></label>
                <div class="form-group">
                    <input type="text" class="form-control text-uppercase" :class="{ 'is-invalid': formData.errors.has('first_name') }" id="first_name" name="first_name" v-model="formData.members_info.first_name">
                    <has-error :form="formData" field="first_name"></has-error>
                </div>
            </div>
        </form>
    </div>
</template>

<script>
import Vue from 'vue' // If e remove this, It will cause and error: Vue is not defined
import { Form, HasError, AlertError } from 'vform'

Vue.component(HasError.name, HasError)
Vue.component(AlertError.name, AlertError)

export default {
    created(){
        this.insertDataForExistingUser();
    },
    mounted() {
    },
    data() {
        return {
            formData : new Form({
                members_info:{
                    id: null,
                    first_name: null,
                    middle_name:null,
                }
            }),
        }
    },
    methods:{
        insertDataForExistingUser(){
            let self= this;
            // If ID is not null insert user existing data.
            if (self.formData.members_info.id) {
                console.log('Opps ID is notnull!')
            }
        },
        submitForm(){
            // Submit the form via a POST request
            this.formData.post('/membersv2/member/create')
                .then(({ data }) => { console.log(data) })
        }
    },
}
</script>

Error
TypeError: _vm.formData.errors.has is not a function

@Snakzi
Copy link

Snakzi commented Mar 23, 2021

Hello, have you ever solved this issue?

@Remo
Copy link

Remo commented Feb 24, 2022

I've got the same problem. It seems like it works when developing, but in production with SSR enabled I'm getting this error. Any hint would be appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants