jin2chen / form-model
该软件包帮助实现数据录入表单。
dev-master / 1.0.x-dev
2021-06-16 08:38 UTC
Requires
- php: ^7.4|^8.0
- yiisoft/validator: 3.0.x-dev
Requires (Dev)
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.7
This package is auto-updated.
Last update: 2024-09-10 14:34:04 UTC
README
该软件包帮助实现数据录入表单。
安装
该软件包可以通过composer安装
composer require jin2chen/form-model --prefer-dist
使用方法
您必须通过扩展抽象表单类来创建您的表单模型,定义所有私有属性及其相应的类型提示。
示例:LoginForm.php
<?php declare(strict_types=1); namespace App\Form; use jin2chen\FormModel\FormModel; use Yiisoft\Validator\Rule\Email; use Yiisoft\Validator\Rule\Required; use Yiisoft\Validator\Rule\HasLength; use Yiisoft\Validator\Validator; class LoginForm extends FormModel { public string $username = ''; public string $password = ''; public bool $rememberMe = false; /** Add rules */ public function getRules(): array { return [ 'login' => $this->loginRules() ]; } private function loginRules(): array { return [ Required::rule(), HasLength::rule() ->min(4) ->max(40) ->tooShortMessage('Is too short.') ->tooLongMessage('Is too long.'), Email::rule() ]; } } $form = new LoginForm(); $validator = new Validator(); $results = $validator->validate($form); $results->isValid();
单元测试
该软件包使用 PHPUnit 进行测试。要运行测试
./vendor/bin/phpunit
静态分析
代码使用 Psalm 进行静态分析。要运行静态分析
./vendor/bin/psalm