assurance-maladie/nir-validation

此组件提供根据法国身份识别数据的值验证

v1.2.0 2023-09-26 08:09 UTC

README

此存储库旨在提出对法国身份识别数据表示的约束。

我们提出了多项规则

  • 注册目录号(NIR)
  • 国家临时号码(NNP)
  • 过境移民(MIG)
  • 等待识别号(NIA)

使用

PHP原生

本部分解释如何使用验证器的功能。

以下示例演示如何验证NIR

use Cnamts\Nir\Constraints\Nir;
use Symfony\Component\Validator\Validation;

$validator = Validation::createValidator();
$violations = $validator->validate('2 84 05 88 321 025 30', [new Nir()]);

if (count($violations) !== 0) {
    echo '<ul>';
    foreach ($violations as $violation) {
        echo '<li>'.$violation->getMessage().'</li>';
    }
    echo '</ul>';
}

Symfony

所有约束都已集成,以便在Symfony支持的所有格式中使用

注解

// src/Entity/User.php
namespace App\Entity;

// ...
use Cnamts\Nir\Constraints as Assert;

class User
{
    /**
     * @Assert\Nir
     */
    private $identifier;
}

属性

// src/Entity/User.php
namespace App\Entity;

// ...
use Cnamts\Nir\Constraints as Assert;

class User
{
    #[Assert\Nir]
    private $identifier;
}

YAML

# config/validator/validation.yaml
App\Entity\User:
    properties:
        identifier:
            - Nir: ~

XML

<!-- config/validator/validation.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<constraint-mapping xmlns="https://symfony.com.cn/schema/dic/constraint-mapping"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://symfony.com.cn/schema/dic/constraint-mapping
        https://symfony.com.cn/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">

    <class name="App\Entity\User">
        <property name="identifier">
            <constraint name="Nir"/>
        </property>
    </class>
</constraint-mapping>

PHP

// src/Entity/User.php
namespace App\Entity;

// ...
use Cnamts\Nir\Constraints\Nir;
use Symfony\Component\Validator\Mapping\ClassMetadata;

class User
{
    private $identifier;

    public static function loadValidatorMetadata(ClassMetadata $metadata)
    {
        $metadata->addPropertyConstraint('identifier', new Nir());
    }
}

约束

注册目录号(NIR)

NIR是一个由13个字符组成的数字,其组成在1982年1月22日颁布的82-103号法令第4条中指定。

国家临时号码(NNP)

NPP分配给在国外出生且从未注册过的人。

过境移民(MIG)

为了在个体参考库(RFI)中为作为过境移民家庭成员存在于操作数据库(BDO)中的个体创建个体,需要为他们分配一个在全国范围内唯一的移民类型号码。

NIA

NIA的目标是结束由保险库自行创建的临时号码 - NNP。

通过实施一个由所有社会保障机构共享的临时号码来完善识别管理。