nextvikas / validator
Laravel 验证器支持多种场景
dev-main
2024-09-22 17:53 UTC
Requires
- illuminate/contracts: ^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/validation: ^6.0|^7.0|^8.0|^9.0|^10.0
This package is auto-updated.
Last update: 2024-09-22 17:53:21 UTC
README
适用于 Laravel 框架的多场景简单验证器库。使用此包,您可以一次性编写验证器并在任何地方使用,轻松地管理您的领域规则。
安装
使用 composer
composer require --prefer-dist "nextvikas/validator @dev"
用法
您的验证器类必须扩展 Nextvikas\Valdiator\AbstarctValdiator
<?php #UserValidator.php namespace YourApp\Validators; use Nextvikas\Validator\AbstractValidator; class UserValidator extends AbstractValidator { protected $registration = [ 'first_name' => ['required'], 'last_name' => ['required'], 'username' => ['required'], 'email' => ['required', 'email'], 'home_page' => ['required', 'url'] ]; protected $activation = [ 'id' => ['required', 'exists:users'], 'token' => ['required', 'min:64'] ]; }
您必须在方法或控制器 __construct
方法中注入验证器才能使用它
<?php # UserController.php namespace Nextvikas\Validator; use YourApp\Validators\UserValidator; use Nextvikas\Validator\Exceptions\ValidationException; class UserController extends Controller { public function register(Request $request, UserValidator $valdiator) { $responce = $valdiator ->setScenario('registration') ->validate($request); if($valdiator->fails()) { return \Redirect::back()->withErrors($responce)->withInput(); } if($valdiator->passes()) { return User::create($valdiator->getPostdata()); } } }
您必须在模型中扩展 Nextvikas\Validator\Model 以使用它
<?php # YourApp/Models/User.php use Nextvikas\Validator\Model; class User extends Model { ...................... }