PHP code example of craftcms / laravel-ruleset-validation
1. Go to this page and download the library: Download craftcms/laravel-ruleset-validation library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
craftcms / laravel-ruleset-validation example snippets
namespace App\Data;
use App\Rulesets\CreatePostRuleset;
use CraftCms\RulesetValidation\Attributes\Ruleset;
use CraftCms\RulesetValidation\Concerns\HasRuleset;
use CraftCms\RulesetValidation\Contracts\ValidatesWithRuleset;
#[Ruleset(CreatePostRuleset::class)]
class CreatePostData implements ValidatesWithRuleset
{
use HasRuleset;
public function __construct(
public string $title,
public ?string $slug = null,
public ?string $body = null,
) {}
public function validationData(): array
{
return [
'title' => $this->title,
'slug' => $this->slug,
'body' => $this->body,
];
}
}
namespace App\Rulesets;
use CraftCms\RulesetValidation\Ruleset;
class CreatePostRuleset extends Ruleset
{
public function rules(): array
{
return [
'title' => ['
$data = new CreatePostData(
title: 'Rulesets are nice',
slug: 'rulesets-are-nice',
body: '...',
);
$validated = $data->ruleset->validate();
namespace App\Rulesets;
use CraftCms\RulesetValidation\Ruleset;
class StorePostRuleset extends Ruleset
{
public function rules(): array
{
return [
'title' => ['
use App\Rulesets\StorePostRuleset;
class PostController
{
public function store(StorePostRuleset $ruleset)
{
$validated = $ruleset->validate();
// ...
}
}
$ruleset = new StorePostRuleset(subject: $request);
use Illuminate\Validation\Rule;
class PostRuleset extends Ruleset
{
public const SCENARIO_DRAFT = 'draft';
public function rules(): array
{
return [
'title' => [
Rule::
use App\Rulesets\PostRuleset;
use CraftCms\RulesetValidation\Attributes\Scenario;
class PostController
{
public function storeDraft(#[Scenario(PostRuleset::SCENARIO_DRAFT)] PostRuleset $ruleset)
{
$validated = $ruleset->validate();
// ...
}
}
use App\Rulesets\CreatePostRuleset;
use CraftCms\RulesetValidation\Attributes\Ruleset;
#[Ruleset(CreatePostRuleset::class)]
class CreatePostData implements ValidatesWithRuleset
{
// ...
}
use App\Rulesets\AdminPostRuleset;
use App\Rulesets\CreatePostRuleset;
use CraftCms\RulesetValidation\Concerns\HasRuleset;
use CraftCms\RulesetValidation\Contracts\ValidatesWithRuleset;
class CreatePostData implements ValidatesWithRuleset
{
use HasRuleset;
public function __construct(
public bool $isAdmin,
public string $title,
) {}
public function validationData(): array
{
return [
'title' => $this->title,
];
}
public function ruleset(): string
{
return $this->isAdmin
? AdminPostRuleset::class
: CreatePostRuleset::class;
}
}
bash
composer analyse
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.