webtorque / silverstripe-nhi-field
提供 NHI 数据库字段和 NHI 表单字段以跟踪新西兰的“国家健康索引”编号。
v0.1.0
2017-09-26 21:05 UTC
Requires
- php: >= 5.4.0, <=7.2
- silverstripe/cms: ^3.0.0
- silverstripe/framework: ^3.0.0
Requires (Dev)
- phpunit/phpunit: ~3.7
- silverstripe/travis-support: ^0.1.0
This package is not auto-updated.
Last update: 2024-09-15 05:07:58 UTC
README
一个 Silverstipe 模块,用于提供 NHI 数据库字段和 NHI 表单字段以跟踪新西兰的“国家健康索引”编号。
功能
- 自定义数据库字段类型
- 自定义表单字段类型,具有基本的模式验证和校验和验证。
- 始终以大写形式保存 NHI。
要求
- PHP 5.4 或更高版本(已测试至 PHP 7.1)
silverstripe/framework:^3.0
silverstripe/cms:^3.0
安装
composer require webtorque/silverstripe-nhi-field:^0.0
使用
在 DataObject 上指定 NHI 数据库字段
class Patient extends DataObject { private static $db = [ 'NationalHealthIndex' => 'NHI', ]; }
NHI
字段类型等同于 Varchar(7)
。当搭建表单时,任何 NHI 数据库字段都将自动使用 NHIField
表单字段而不是 TextField
。
验证 NHI
只需在您的表单中使用 NHIField
并正常验证表单。
$nhiField = NHIField::create( $name = 'nhi', // required $title = 'National Health Index', // optional $value = 'CGC2720', // optional $form = null, // optional $html5pattern = false // optional, output an `html5` pattern attribute );
NHIField
是 TextField
的简单扩展,以下为修改内容
- 自动设置
maxlength
为 7。 - 设置字段的值时,将自动转换为大写。
- 使用基本正则表达式和 校验和(根据 NHI 标准)进行验证。
- 您可以通过
$nhiField->setHtml5Pattern(true);
输出一个 html5pattern
属性。
出于测试目的,可以通过在 NHIField
配置中设置 disable_checksum_validation
标志来禁用校验和验证。
if (Director::isDev()) { NHIField::config()->disable_checksum_validation = true; }