greg0x46/masked-field

Laravel Nova 字段。

v1.1.1 2023-12-05 19:29 UTC

This package is auto-updated.

Last update: 2024-09-05 21:11:31 UTC


README

安装

composer require greg0x46/masked-field

基本使用

要使用 Laravel Nova Masked Field,请按照以下步骤操作

  1. 在您的 Nova 资源文件中导入 MaskedField 类
use Greg0x46\MaskedField\MaskedField;
  1. 将 MaskedField 添加到资源文件的 fields 方法中
public function fields(Request $request)
{
    return [
        MaskedField::make('Phone')
            ->mask('(###) ###-####'),
    ];
}

masked-field-demo

使用 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 存储库。

参考

关于 Nova 许可证的注意事项

大家好,

我的 Nova 许可在 2023 年 11 月到期,版本为 v4.29.2,这是我最后能访问的版本。目前,我没有续订的计划,所以很遗憾,我无法协助与更新或新 Nova 功能相关的问题。您可以自由地寻求其他用户或维护者的替代支持或解决方案。

感谢您的理解。