PHP code example of webman / validation

1. Go to this page and download the library: Download webman/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/ */

    

webman / validation example snippets


use support\validation\Validator;

$data = ['email' => '[email protected]'];

Validator::make($data, [
    'email' => '

use support\validation\Validator;

$data = ['contact' => '[email protected]'];

Validator::make(
    $data,
    ['contact' => '

use support\validation\Validator;

$data = ['email' => 'bad-email'];

$validator = Validator::make($data, [
    'email' => 'rrors()->all();      // array
    $errorsByField = $validator->errors()->toArray(); // array
    // handle errors...
}

namespace app\validation;

use support\validation\Validator;

class UserValidator extends Validator
{
    protected array $rules = [
        'id' => 'ed' => 'Name is ',
        'email' => 'Email',
    ];
}

use app\validation\UserValidator;

UserValidator::make($data)->validate();

namespace app\validation;

use support\validation\Validator;

class UserValidator extends Validator
{
    protected array $rules = [
        'id' => 'name', 'email'],
        'update' => ['id', 'name', 'email'],
    ];
}

use app\validation\UserValidator;

// No scene specified -> validate all rules
UserValidator::make($data)->validate();

// Specify scene -> validate only fields in that scene
UserValidator::make($data)->withScene('create')->validate();

use support\Request;
use support\validation\annotation\Validate;

class AuthController
{
    #[Validate(
        rules: [
            'email' => '  'password.quest)
    {
        return json(['code' => 0, 'msg' => 'ok']);
    }
}

use app\validation\UserValidator;
use support\Request;
use support\validation\annotation\Validate;

class UserController
{
    #[Validate(validator: UserValidator::class, scene: 'create')]
    public function create(Request $request)
    {
        return json(['code' => 0, 'msg' => 'ok']);
    }
}

use support\validation\annotation\Validate;

class UserController
{
    #[Validate(rules: ['email' => ' json(['code' => 0, 'msg' => 'ok']);
    }
}

use support\validation\annotation\Validate;

class UserController
{
    #[Validate(
        rules: ['email' => ' 'msg' => 'ok']);
    }
}

use support\validation\annotation\Param;

class MailController
{
    public function send(
        #[Param(rules: 'ing $content
    ) {
        return json(['code' => 0, 'msg' => 'ok']);
    }
}

use support\validation\annotation\Param;

class MailController
{
    public function send(
        #[Param(rules: '

use support\validation\annotation\Param;

class MailController
{
    public function send(
        #[Param(rules: ['

use support\validation\annotation\Param;

class UserController
{
    public function updateEmail(
        #[Param(
            rules: ' {
        return json(['code' => 0, 'msg' => 'ok']);
    }
}

final class ParamRules
{
    public const EMAIL = ['
        #[Param(rules: ParamRules::EMAIL)] string $email
    ) {
        return json(['code' => 0, 'msg' => 'ok']);
    }
}

use support\Request;
use support\validation\annotation\Param;
use support\validation\annotation\Validate;

class UserController
{
    #[Validate(rules: ['token' => ') {
        return json(['code' => 0, 'msg' => 'ok']);
    }
}

use support\validation\annotation\Validate;

class DemoController
{
    #[Validate]
    public function create(string $content, int $uid)
    {
    }
}

use support\validation\annotation\Validate;

class DemoController
{
    #[Validate(rules: [
        'content' => '

use support\validation\annotation\Validate;

class DemoController
{
    #[Validate(rules: [
        'content' => 'min:2',
    ])]
    public function create(string $content, int $uid)
    {
    }
}

use support\validation\annotation\Validate;

class DemoController
{
    #[Validate(rules: [
        'content' => '

use support\validation\annotation\Validate;

class DemoController
{
    #[Validate]
    public function create(string $content = 'default', ?int $uid = null)
    {
    }
}

use support\validation\annotation\Validate;

class DemoController
{
    #[Validate(rules: [
        'content' => 'string',
        'uid' => 'integer|nullable',
    ])]
    public function create(string $content = 'default', ?int $uid = null)
    {
    }
}

return [
    'email' => 'The :attribute is not a valid email format.',
];

use support\validation\Validator;

Validator::make($data, [
    'start_date' => '

Validator::make($data, [
    'finish_date' => '

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'start_date' => [
        '

Validator::make($data, [
    'start_date' => [
        '();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'start_date' => [
        '

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'username' => [
        ' ],
])->validate();

Validator::make($data, [
    'username' => 'alpha:ascii',
])->validate();

Validator::make($data, [
    'username' => 'alpha_dash:ascii',
])->validate();

Validator::make($data, [
    'username' => 'alpha_num:ascii',
])->validate();

use support\validation\Validator;

$input = [
    'user' => [
        'name' => 'Taylor Otwell',
        'username' => 'taylorotwell',
        'admin' => true,
    ],
];

Validator::make($input, [
    'user' => 'array:name,username',
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'start_date' => [
        '

Validator::make($data, [
    'start_date' => [
        'e();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'start_date' => [
        '

Validator::make($data, [
    'foo' => 'boolean:strict',
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'roles' => [
        '

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'roles' => [
        '

Validator::make($data, [
    'password' => 'current_password:api',
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'start_date' => [
        '

Validator::make($data, [
    'price' => 'decimal:2',
])->validate();

Validator::make($data, [
    'price' => 'decimal:2,4',
])->validate();

Validator::make($data, [
    'avatar' => 'dimensions:min_width=100,min_height=200',
])->validate();

Validator::make($data, [
    'avatar' => 'dimensions:ratio=3/2',
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'avatar' => [
        '  ],
])->validate();

Validator::make($data, [
    'foo.*.id' => 'distinct',
])->validate();

Validator::make($data, [
    'foo.*.id' => 'distinct:strict',
])->validate();

Validator::make($data, [
    'foo.*.id' => 'distinct:ignore_case',
])->validate();

Validator::make($data, [
    'email' => 'email:rfc,dns',
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'email' => [
        'ventSpoofing(),
    ],
])->validate();

use Illuminate\Validation\Rules\File;
use support\validation\Validator;

Validator::make($data, [
    'attachment' => [
        '

use app\enums\ServerStatus;
use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'status' => [Rule::enum(ServerStatus::class)],
])->validate();

use app\enums\ServerStatus;
use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'status' => [
        Rule::enum(ServerStatus::class)
            ->only([ServerStatus::Pending, ServerStatus::Active]),
    ],
])->validate();

Validator::make($data, [
    'status' => [
        Rule::enum(ServerStatus::class)
            ->except([ServerStatus::Pending, ServerStatus::Active]),
    ],
])->validate();

use app\Enums\ServerStatus;
use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'status' => [
        Rule::enum(ServerStatus::class)->when(
            $isAdmin,
            fn ($rule) => $rule->only(ServerStatus::Active),
            fn ($rule) => $rule->only(ServerStatus::Pending),
        ),
    ],
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'role_id' => Rule::excludeIf($isAdmin),
])->validate();

Validator::make($data, [
    'role_id' => Rule::excludeIf(fn () => $isAdmin),
])->validate();

Validator::make($data, [
    'state' => 'exists:states',
])->validate();

Validator::make($data, [
    'state' => 'exists:states,abbreviation',
])->validate();

Validator::make($data, [
    'email' => 'exists:connection.staff,email',
])->validate();

Validator::make($data, [
    'user_id' => 'exists:app\model\User,id',
])->validate();

use Illuminate\Database\Query\Builder;
use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'email' => [
        '

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'state' => [Rule::exists('states', 'abbreviation')],
])->validate();

Validator::make($data, [
    'states' => ['array', Rule::exists('states', 'abbreviation')],
])->validate();

Validator::make($data, [
    'photo' => ['

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'zones' => [
        '

use support\validation\Rule;
use support\validation\Validator;

$input = [
    'airports' => ['NYC', 'LAS'],
];

Validator::make($input, [
    'airports' => [
        '

Validator::make($data, [
    'config' => 'array|in_array_keys:timezone',
])->validate();

Validator::make($data, [
    'age' => 'integer:strict',
])->validate();

Validator::make($data, [
    'video' => 'mimetypes:video/avi,video/mpeg,video/quicktime',
])->validate();

Validator::make($data, [
    'photo' => 'mimes:jpg,bmp,png',
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'toppings' => [
        '

Validator::make($data, [
    'amount' => 'numeric:strict',
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'role_id' => Rule::prohibitedIf($isAdmin),
])->validate();

Validator::make($data, [
    'role_id' => Rule::prohibitedIf(fn () => $isAdmin),
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'role_id' => Rule::

Validator::make($data, [
    'nickname' => 'sometimes|string|max:20',
])->validate();

Validator::make($data, [
    'title' => 'size:12',
    'seats' => 'integer|size:10',
    'tags' => 'array|size:5',
    'image' => 'file|size:512',
])->validate();

Validator::make($data, [
    'timezone' => '   'timezone' => '

Validator::make($data, [
    'email' => 'unique:app\model\User,email_address',
])->validate();

Validator::make($data, [
    'email' => 'unique:users,email_address',
])->validate();

Validator::make($data, [
    'email' => 'unique:connection.users,email_address',
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'email' => [
        '

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'email' => [
        Rule::unique('users')->ignore($user),
    ],
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'email' => [
        Rule::unique('users')->ignore($user->id, 'user_id'),
    ],
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'email' => [
        Rule::unique('users', 'email_address')->ignore($user->id),
    ],
])->validate();

use Illuminate\Database\Query\Builder;
use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'email' => [
        Rule::unique('users')->where(
            fn (Builder $query) => $query->where('account_id', 1)
        ),
    ],
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'email' => [Rule::unique('users')->withoutTrashed()],
])->validate();

use support\validation\Rule;
use support\validation\Validator;

Validator::make($data, [
    'email' => [Rule::unique('users')->withoutTrashed('was_deleted_at')],
])->validate();

Validator::make($data, [
    'url' => 'url:http,https',
    'game' => 'url:minecraft,steam',
])->validate();

Validator::make($data, [
    'uuid' => 'uuid:4',
])->validate();
bash
php webman make:validator UserValidator
bash
php webman make:validator UserValidator --table=wa_users
php webman make:validator UserValidator -t wa_users
bash
php webman make:validator UserValidator --table=wa_users --orm=laravel
php webman make:validator UserValidator --table=wa_users --orm=thinkorm
php webman make:validator UserValidator -t wa_users -o thinkorm