Laravel Vuejs Ajax Validation Tutorial With Example

Today, We want to share with you Laravel Vuejs Ajax Validation Tutorial.In this post we will show you Simple Laravel Vuejs Form Validation Example, hear for file upload size limit validation in vuejs we will give you demo and example for implement.In this post, we will learn about Image upload and validation using Laravel and VueJs with an example.

Laravel Vuejs Ajax Validation Tutorial

There are the Following The simple About Laravel Vuejs Ajax Validation Tutorial Full Information With Example and source code.

As I will cover this Post with live Working example to develop Vuejs Form Validation Tutorial With Example From Scratch , so the someSimple Laravel Vuejs Form Validation for this example is following below.

Also Read :  paypal express checkout woocommerce Integration

Step 1 : Create Vuejs components

resources/assets/js/components/FileUpload.vue

<h2>Image upload and validation using Laravel and VueJs</h2>
<template>
    <div class="row">
        <div class="col-md-12">
            <div class="col-md-2">
                <img :src="image" class="pakainfo img-responsive">
            </div>
            <div class="col-md-8">
                <input type="file" v-on:change="onFileChange" class="pakainfo form-control">
            </div>
            <div class="col-md-2">
                <button class="pakainfo btn btn-success btn-block" @click="upload">Upload</button>
            </div>
        </div>
    </div>
</template>
<style scoped>
    img{
        max-height: 38px;
    }
</style>
<script>
    export default{
        data(){
            return {
                image: ''
            }
        },
        methods: {
            onFileChange(e) {
                let myfiles = e.target.files || e.dataTransfer.files;
                if (!myfiles.length)
                    return;
                this.livepreviewImg(myfiles[0]);
            },
            livepreviewImg(datafile) {
                let filereader = new FileReader();
                let vdatam = this;
                filereader.onload = (e) => {
                    vdatam.image = e.target.result;
                };
                filereader.readAsDataURL(datafile);
            },
            upload(){
                axios.post('Base_URL/api/upload',{image: this.image}).then(response => {

                });
            }
        }
    }
</script>

Step 2: register vuejs

FileUpload component Simple register it in app.js

Vue.component('file-upload',require('./components/FileUpload.vue'));

vuejs registered our component

<file-upload></file-upload>

Step 3: Laravel View Files

welcome.blade.php

@extends('layouts.app')

@section('content')
<h1>Image upload and validation using Laravel and VueJs</h1>
<div class="pakainfo container">
    <div class="pakainfo row">
        <div class="pakainfo col-md-8 col-md-offset-2">
            <div class="pakainfo panel panel-default">
                <div class="pakainfo panel-heading">Upload your Members Profile image!</div>
                <div class="pakainfo panel-body">
                    <file-upload></file-upload>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

Setp 4 : Define a Laravel Routes

Laravel Route(axios post method)

Route::post('/upload', function (Request $datarequest) {
    $validator = Validator::make($datarequest->all(), [
        'image' => 'required|image64:jpeg,jpg,png'
    ]);
    if ($validator->fails()) {
        return response()->json(['errors'=>$validator->errors()]);
    } else {
        $allImgData = $datarequest->get('image');
        $myfileName = Carbon::now()->timestamp . '_' . uniqid() . '.' . explode('/', explode(':', substr($allImgData, 0, strpos($allImgData, ';')))[1])[1];
        Image::make($datarequest->get('image'))->save(public_path('uploads/').$myfileName);
        return response()->json(['error'=>false]);
    }
});

AppServiceProvider

public function boot()
{
    Validator::extend('image64', function ($attribute, $value, $allparamval, $validator) {
        $type = explode('/', explode(':', substr($value, 0, strpos($value, ';')))[1])[1];
        if (in_array($type, $allparamval)) {
            return true;
        }
        return false;
    });

    Validator::replacer('image64', function($message, $attribute, $rule, $allparamval) {
        return str_replace(':values',join(",",$allparamval),$message);
    });
}

validation.php

'image64' => 'The :attribute must be a Live file of type: :values.',

'custom' => [
        'attribute-name' => [
            'rule-name' => 'custom-message',
        ],
    ],

Angular 6 CRUD Operations Application Tutorials

Read :

Also Read :  Laravel Fullcalendar Integration Tutorial Example From Scratch

Summary

You can also read about AngularJS, ASP.NET, VueJs, PHP.

I hope you get an idea about Laravel Vuejs Ajax Validation Tutorial.
I would like to have feedback on my Pakainfo.com blog.
Your valuable feedback, question, or comments about this article are always welcome.
If you enjoyed and liked this post, don’t forget to share.

Gondaliya Jaydeep

Hi, I’m Jaydeep Gondaliya, PHP developer.Pakainfo.com is the most popular Programming & Web Development blog. Our mission is to provide the best online resources on programming and web development.Any visitors of this site are free to browse our tutorials, live demos, Examples and download scripts.If you have a project that you want to get started, launch quickly, contact me. Email : [email protected]