yiisoft /form-model
为表单模型提供基础,并帮助填充、验证和显示它们。
1.0.1
2024-09-13 07:16 UTC
Requires
- php: ^8.1
- ext-mbstring: *
- psr/http-message: ^1.0|^2.0
- yiisoft/form: ^1.0
- yiisoft/html: ^3.3
- yiisoft/hydrator: ^1.3
- yiisoft/strings: ^2.3
- yiisoft/validator: ^2.1
Requires (Dev)
- httpsoft/http-message: ^1.1
- maglnet/composer-require-checker: ^4.7
- phpunit/phpunit: ^10.5
- rector/rector: ^1.2
- roave/infection-static-analysis-plugin: ^1.34
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^5.25
- yiisoft/di: ^1.2
This package is auto-updated.
Last update: 2024-09-22 08:43:15 UTC
README
Yii 表单模型
该包为表单模型提供基础,并帮助填充数据、验证它们并在视图中显示它们。
要求
- PHP 8.1 或更高版本。
mbstring
PHP 扩展。
安装
可以使用Composer安装此包。
composer require yiisoft/form-model
通用用法
定义一个表单模型
use Yiisoft\FormModel\Attribute\Safe; use Yiisoft\FormModel\FormModel; use Yiisoft\Validator\Rule\Email; use Yiisoft\Validator\Rule\Length; use Yiisoft\Validator\Rule\Required; final class LoginForm extends FormModel { #[Label('Your login')] #[Required] #[Length(min: 4, max: 40, skipOnEmpty: true)] #[Email(skipOnEmpty: true)] private ?string $login = null; #[Label('Your password')] #[Required] #[Length(min: 8, skipOnEmpty: true)] private ?string $password = null; #[Label('Remember me for 1 week')] #[Safe] private bool $rememberMe = false; }
使用表单填充器填充数据并验证
use Psr\Http\Message\RequestInterface; use Yiisoft\FormModel\FormHydrator; use Yiisoft\FormModel\FormModel; final class AuthController { public function login(RequestInterface $request, FormHydrator $formHydrator): ResponseInterface { $formModel = new LoginForm(); $errors = []; if ($formHydrator->populateFromPostAndValidate($formModel, $request)) { $errors = $formModel->getValidationResult()->getErrorMessagesIndexedByProperty(); } // You can pass $formModel and $errors to the view now. } }
使用视图中的字段显示它们
use Yiisoft\FormModel\Field; use Yiisoft\FormModel\FormModel; echo Field::text($formModel, 'login'); echo Field::password($formModel, 'password'); echo Field::checkbox($formModel, 'rememberMe'); // ...
文档
如果您需要帮助或有疑问,Yii 论坛是寻求帮助的好地方。您还可以查看其他Yii 社区资源。
许可证
Yii 表单模型是自由软件。它根据BSD许可证发布。有关更多信息,请参阅LICENSE
。
由Yii 软件维护。