slam / php-validatore-fattura-elettronica
电子发票验证器
v1.2.1-patch20231221.1
2023-12-21 15:34 UTC
Requires
- php: ~8.2.0 || ~8.3.0
- ext-dom: *
- ext-libxml: *
Requires (Dev)
- phpstan/phpstan: ^1.10.50
- phpstan/phpstan-phpunit: ^1.3.15
- phpstan/phpstan-strict-rules: ^1.5.2
- phpunit/phpunit: ^10.5.3
- slam/php-cs-fixer-extensions: ^3.10.0
- dev-master
- v1.2.1-patch20231221.1
- v1.2.1-patch20231120.1
- v1.2.1-patch20230222.1
- v1.2.1-patch20220405.1
- v1.2.1-patch20201009.1
- v1.2.1-patch20201008.1
- v1.2-patch20190830.1
- v1.2-patch20190809.1
- v1.2-patch20181010.4
- v1.2-patch20181010.3
- v1.2-patch20181010.2
- v1.2-patch20181010.1
- dev-renovate/all-minor-patch
This package is auto-updated.
Last update: 2024-09-20 20:26:27 UTC
README
警告:此包仅适用于意大利标准!
安装
composer require slam/php-validatore-fattura-elettronica
使用
use SlamFatturaElettronica\Validator; $feValidator = new Validator(); $feValidator->assertValidXml('<xml ...>'); // In caso di struttura XML errata, viene lanciata una // SlamFatturaElettronica\Exception\InvalidXmlStructureException // In caso di XML valido ma non aderente all'XSD, viene lanciata una // SlamFatturaElettronica\Exception\InvalidXsdStructureComplianceException
列出所有异常
use SlamFatturaElettronica\Validator; $feValidator = new Validator(); $feValidator->getAllExceptions('<xml ...>'); // Restituisce un array contentente le eccezioni rilevati. Se non ci sono errori l'array sarà vuoto:
通知
use SlamFatturaElettronica\Validator; $feValidator = new Validator(); $feValidator->assertValidXml('<xml ...>', Validator::XSD_MESSAGGI_LATEST);
参考
目前有两个参考网站
- https://www.agenziaentrate.gov.it/wps/content/Nsilib/Nsi/Schede/Comunicazioni/Fatture+e+corrispettivi/Fatture+e+corrispettivi+ST/ST+invio+di+fatturazione+elettronica/?page=schedecomunicazioni
- http://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-2.htm
这个库使用的XSD来自第一个网站,即www.agenziaentrate.gov.it
,尽管版本号已经明确,但它似乎是最新的(例如,在文档类型中,Autofattura
有所不同)。
版本 1.2.1
的电子邮件验证
版本 1.2.1
引入了一个用于电子邮件验证的正则表达式,但它是构建不当的。鉴于这个库的功能更广泛,电子邮件的正则表达式已被更宽松的一个覆盖。电子邮件验证由用户负责。
diff --git a/xsd/Schema_VFPR121a.xsd b/xsd/Schema_VFPR121a.xsd index e999199..fa5696b 100644 --- a/xsd/Schema_VFPR121a.xsd +++ b/xsd/Schema_VFPR121a.xsd @@ -1364,8 +1364,9 @@ </xs:simpleType> <xs:simpleType name="EmailType"> <xs:restriction base="xs:token"> + <xs:minLength value="7" /> <xs:maxLength value="256" /> - <xs:pattern value="([!#-'*+/-9=?A-Z^-~-]+(\.[!#-'*+/-9=?A-Z^-~-]+)*|"(\[\]!#-[^-~ \t]|(\\[\t -~]))+")@([!#-'*+/-9=?A-Z^-~-]+(\.[!#-'*+/-9=?A-Z^-~-]+)*|\[[\t -Z^-~]*\])" /> + <xs:pattern value=".+@.+[.]+.+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="EmailContattiType">