فهرست مستندات پروژه

اعتبارسنجی

Abzar0.8.1مشاهده منبعفارسی / انگلیسی

انتخاب بین نتیجه و value object و تفاوت اعتبارسنجی با تایید هویت.

از validatorها برای بررسی ورودی فرم یا API و یکسان‌سازی شناسه‌های ایرانی استفاده کنید. شناسه را به صورت string نگه دارید تا صفر اول آن حذف نشود. ارقام فارسی، عربی و انگلیسی پذیرفته می‌شوند.

<?php
require 'vendor/autoload.php';

use Eram\Abzar\Validation\CardNumber;

$result = CardNumber::validate('1234567890123452');
var_dump($result->isValid(), $result->isStrictlyValid());
echo $result->warningCodes()[0]->value, "\n";
var_dump(CardNumber::from('1234567890123452')->bank());
bool(true)
bool(false)
CARD_NUMBER.UNKNOWN_BIN
NULL

این کارت از نظر checksum معتبر است، اما BIN آن در جدول بانک‌ها نیست. به همین دلیل isValid() برابر true و isStrictlyValid() برابر false است.

انتخاب متد

متدورودی معتبرورودی نامعتبر
validate($input)ValidationResult، گاهی همراه هشدارنتیجه همراه خطا
from($input)value object تغییرناپذیرValidationException
tryFrom($input)value objectnull

در BillId امضا متفاوت است: validate($billId) یک فیلد را بررسی می‌کند، ولی from($billId, $paymentId)، tryFrom($billId, $paymentId) و validatePair() هر دو شناسه را لازم دارند.

هشدار یعنی lookup اطلاعاتی پیدا نکرده است. هشدار مانع ساخت object یا استخراج از متن نمی‌شود. isStrictlyValid() معتبر بودن و نداشتن هشدار را بررسی می‌کند؛ باز هم استعلام رسمی نیست. برای حرف ناشناخته پلاک، نوع PlateType::OTHER برمی‌گردد؛ بقیه lookupهای ناموفق معمولا null هستند.

راهنماها

اشتباه‌های رایج

یک مقدار معتبر ممکن است به کسی اختصاص داده نشده باشد، غیرفعال باشد یا متعلق به شخص دیگری باشد. OTP، تایید هویت، مالکیت و وضعیت پرداخت به سرویس جداگانه نیاز دارند. پیش‌شماره موبایل بعد از ترابرد لزوما اپراتور فعلی را نشان نمی‌دهد. شهر صدور کد ملی هم آدرس فعلی فرد نیست.

خروجی fake() داده آزمایشی با ساختار معتبر است، اما ممکن است با یک شناسه واقعی یکسان باشد. extractAll() فقط در NationalId، CardNumber، Iban، PhoneNumber، PostalCode و PlateNumber وجود دارد. عددی که از متن استخراج می‌شود لزوما همان مفهوم مورد نظر شما را ندارد.

مطالب مرتبط: خطاها و هشدارها، کدهای خطا، فریم‌ورک‌ها.

جستجو در مستندات

در همه پروژه‌ها جستجو کنید. با بستن این پنجره به راهنما برمی‌گردید.

Tab برای جابه‌جایی · Enter برای باز کردنEsc برای بستن