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/ */
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();
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();
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();