Consider sponsoring me on github! 🙏
composer require juhlinus/kakunin
Kakunin relies on Custom Form Requests.
Add the ValidatesInertiaInput trait to your newly generated form request like so:
<?php
namespace App\Http\Requests;
use Kakunin\Concerns\ValidatesInertiaInput;
use Illuminate\Foundation\Http\FormRequest;
class CustomFormRequest extends FormRequest
{
use ValidatesInertiaInput;
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
//
];
}
}In order for the validation to be instant you need to make use of a watcher.
Here's an example in Vue.js:
<template>
<div>
<input v-model="email">
</div>
</template>
<script>
export default {
watch: {
email: function (email) {
this.$inertia.post('/users', {
email: email,
validate: true,
});
}
}
}
</script>
Note that I'm passing a validate parameter. If this isn't passed then Kakunin will not validate your request.
That's it! Happy validating!
If you wish to change the validate to something else, then you can add KAKUNIN_VALIDATION_KEY to your .env file. Lastly, add the following to your config/services.php file:
'kakunin' => [
'validation_key' => env('KAKUNIN_VALIDATION_KEY'),
],Kakunin(確認) is the Japanese verb "to validate".