ui-awesome/form-model
Composer 安装命令:
composer require ui-awesome/form-model
包简介
Form metadata and validation errors for model-driven PHP forms.
关键字:
README 文档
README
UIAwesome Form Model for PHP
Form metadata and validation errors for model-driven PHP forms
Hints, labels, placeholders, field configuration, nested field metadata, and field-scoped error handling
Features
Installation
composer require ui-awesome/form-model:^0.2
Quick start
<?php declare(strict_types=1); namespace App\FormModel; use UIAwesome\FormModel\BaseFormModel; use UIAwesome\FormModel\Attribute\{FieldConfig, Hint, Label, Placeholder}; final class SignInForm extends BaseFormModel { #[Hint('Use your account email address.')] #[Label('Email address')] #[Placeholder('name@example.com')] #[FieldConfig(['class' => ['w-full rounded-md border border-slate-300 px-3 py-2']])] public string $email = ''; public string $password = ''; public function getHints(): array { return [ 'password' => 'Use at least 8 characters.', ]; } public function getLabels(): array { return [ 'password' => 'Password', ]; } public function getPlaceholders(): array { return [ 'password' => 'Enter your password', ]; } public function getRules(): array { return [ 'email' => ['required', 'email'], 'password' => ['required', 'string'], ]; } public function getFieldConfigs(): array { return [ 'password' => [ 'class' => ['w-full rounded-md border border-slate-300 px-3 py-2'], ], ]; } } $form = new SignInForm(); $form->addError('email', 'Email is required.'); $errors = $form->getErrors(); /* [ 'email' => ['Email is required.'], ] */ $summary = $form->getErrorSummary(); // ['Email is required.'] $label = $form->getLabel('email'); // 'Email address'
Nested field metadata
You can request metadata using dot notation when a field contains another BaseFormModel.
$hint = $form->getHint('profile.address.city'); $label = $form->getLabel('profile.address.city'); $placeholder = $form->getPlaceholder('profile.address.city'); $rules = $form->getRule('profile.address.city');
Property attributes
Property attributes are resolved first for metadata (Hint, Label, Placeholder, FieldConfig).
Map methods (getHints(), getLabels(), getPlaceholders(), getFieldConfigs()) remain as fallback.
$emailHint = $form->getHint('email'); $emailLabel = $form->getLabel('email'); $emailPlaceholder = $form->getPlaceholder('email'); $emailFieldConfig = $form->getFieldConfig('email');
Error collection and first-error mode
Use first-error mode when you need one message per field.
$form->setErrors( [ 'email' => ['Email is required.', 'Email is invalid.'], 'password' => ['Password is required.'], ], ); $firstErrors = $form->getFirstErrors(); /* [ 'email' => 'Email is required.', 'password' => 'Password is required.', ] */
Documentation
For detailed configuration options and advanced usage.
- 📚 Installation Guide
- ⚙️ Configuration Reference
- 💡 Usage Examples
- 🧪 Testing Guide
- 🛠️ Development Guide
- 🔄 Upgrade Guide
Package information
Quality code
Our social networks
License
ui-awesome/form-model 适用场景与选型建议
ui-awesome/form-model 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 227 次下载、GitHub Stars 达 1, 最近一次更新时间为 2024 年 03 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「form-model」 「ui-awesome」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 ui-awesome/form-model 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ui-awesome/form-model 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 ui-awesome/form-model 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Shared backed enums classifying HTML elements by category (block, inline, list, table, void, metadata, root) for the UI Awesome ecosystem.
Reusable PHP traits for HTML rendering components: attribute management, content, templates, and prefix/suffix/label collections.
Fluent, immutable SVG rendering for PHP: shapes, text, gradients, filters, masks, and sanitized inline SVG.
Trait to implement Yii Validator for YiiFramework v.3.0.
UI Awesome HTML Code Generator for PHP.
Fluent, immutable component primitives for PHP: alerts, breadcrumbs, dropdowns, navbars, toggles, and menu items.
统计信息
- 总下载量: 227
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 8
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: mit
- 更新时间: 2024-03-18