dev-idkwhoami / masked-inputs
0.1.0
2024-05-02 22:53 UTC
Requires
- php: >=8.2
- filament/support: ^v3.2.72
Requires (Dev)
- laravel/pint: dev-main
This package is auto-updated.
Last update: 2024-10-03 00:19:49 UTC
README
此包为 Filament PHP 提供了掩码输入字段,用于在文本值上应用掩码。
安装
注意:当前此包仅与 Filament v3 兼容,目前没有计划发布与 v2 兼容的版本。
您可以通过 composer 安装此包
composer require dev-idkwhoami/masked-inputs
然后发布您应用中的资源
php artisan filament:assets
MaskedInput 字段使用方法
目前这是唯一支持配置 js 脚本的方式,但它允许使用库提供的几乎所有功能。
->options()
期望一个 RawJS
对象,该对象将被渲染为 JS 对象。
use DevIDKWHOAMI\MaskedInputs\Forms\Components\MaskedInput; MaskedInput::make('price') ->options(RawJs::make(<<<'JS' { mask: Number, scale: 2, thousandsSeparator: '.', padFractionalZeros: true, normalizeZeros: true, radix: ',', mapToRadix: ['.'], autofix: true } JS))
// how the plugin is normaly used const mask = IMask(element, maskOptions);
<!-- How the plugins uses it -->
const mask = IMask(element, {{ $options }});
这样,->options()
就可以完全控制 maskOptions
有关如何定义掩码的更多信息,请参阅指南掩码
其他示例
这仅允许类似 150d
、3m
和 1y
的值,并阻止类似 m1
、15y5
和 6s
的值。
use DevIDKWHOAMI\MaskedInputs\Forms\Components\MaskedInput; MaskedInput::make('duration') ->helperText("d = days, m = months, y = years") ->options(RawJs::make(<<<'JS' { mask: 'num#', definitions: { '#': /[dmy]/, '&': /\d+/ }, blocks: { num: { mask: Number, expose: true }} } JS)),
想法
- 为方便使用预定义的 RawJs 对象
更新日志
有关最近更改的更多信息,请参阅 更新日志
贡献
有关详细信息,请参阅 贡献指南
致谢
此包基于 JavaScript 库 imask js。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件