greg0x46 / masked-field
Laravel Nova 字段。
v1.1.1
2023-12-05 19:29 UTC
Requires
- php: ^7.3|^8.0
- laravel/nova: ^4.0
README
安装
composer require greg0x46/masked-field
基本使用
要使用 Laravel Nova Masked Field,请按照以下步骤操作
- 在您的 Nova 资源文件中导入 MaskedField 类
use Greg0x46\MaskedField\MaskedField;
- 将 MaskedField 添加到资源文件的 fields 方法中
public function fields(Request $request) { return [ MaskedField::make('Phone') ->mask('(###) ###-####'), ]; }
使用 dependsOn
您还可以使用 dependsOn 方法根据另一个字段的值设置条件掩码。以下是一个示例
use Greg0x46\MaskedField\MaskedField; public function fields(Request $request) { return [ MaskedField::make('Phone', 'phone') ->mask('(###) ###-####') ->dependsOn(['country'], function (MaskedField $field, NovaRequest $request, FormData $formData) { if($formData->country == 'BR') $field->mask('(##) ####-####'); }) ]; }
掩码语法
Laravel Nova Masked Field 使用掩码语法来定义输入格式的模式。以下是可用的默认令牌
{ '#': { pattern: /[0-9]/ }, 'X': { pattern: /[0-9a-zA-Z]/ }, 'S': { pattern: /[a-zA-Z]/ }, 'A': { pattern: /[a-zA-Z]/, uppercase: true }, 'a': { pattern: /[a-zA-Z]/, lowercase: true }, '!': { escape: true }, '*': { repeat: true } }
有关掩码语法的更多信息,请参阅 beholdr/maska 存储库。
参考
- 这是一个针对 Laravel Nova 的自定义字段
- 它使用了 beholdr/maska
- 它受到了 wemersonrv/input-mask 的启发
关于 Nova 许可证的注意事项
大家好,
我的 Nova 许可在 2023 年 11 月到期,版本为 v4.29.2,这是我最后能访问的版本。目前,我没有续订的计划,所以很遗憾,我无法协助与更新或新 Nova 功能相关的问题。您可以自由地寻求其他用户或维护者的替代支持或解决方案。
感谢您的理解。