axiy
English summary. Small, dependency-free Dart utilities from the
Axiy team. It works in any Dart or Flutter app. The first
one is an email validator: isValidEmail answers yes or no, and
validateEmail returns an EmailError that says why an address was
rejected, so a form can show a precise message. The rest of this page is in
Uzbek.
Axiy jamoasining kichik, bog'liqliksiz Dart yordamchilari. Har qanday Dart yoki Flutter ilovasida ishlaydi.
O'rnatish
dart pub add axiy
Emailni tekshirish
import 'package:axiy/axiy.dart';
isValidEmail('ali@axiy.uz'); // true
'ali@axiy'.isValidEmail; // false
switch (validateEmail(email)) {
case null:
print('To\'g\'ri');
case EmailError.missingAt:
print('"@" belgisi yo\'q');
case EmailError.invalidDomain:
print('Domen noto\'g\'ri, masalan: axiy.uz');
case final error:
print('Email noto\'g\'ri: ${error.name}');
}
Flutter formasida:
TextFormField(
validator: (value) =>
isValidEmail(value ?? '') ? null : 'Email noto\'g\'ri',
)
Qoidalar
validateEmail RFC 5321 ning keng tarqalgan nom@domen.uz ko'rinishini
qabul qiladi:
- butun manzil 254,
@dan oldingi qism 64 belgidan oshmaydi; @dan oldingi qism: harf, raqam va!#$%&'*+/=?^_`{|}~-belgilari, nuqta boshida, oxirida yoki ketma-ket kelmaydi;- domen kamida ikki qismdan iborat (
axiy.uz), har bir qism 1–63 belgi, harf, raqam va-(boshida yoki oxirida emas), oxirgi qism faqat harflardan (kamida 2 ta).
Bo'sh joylar kesilmaydi (' ali@axiy.uz' noto'g'ri), shuning uchun kerak
bo'lsa avval trim() qiling. Qo'shtirnoqli nomlar ("a b"@x.uz), IP
domenlar (a@[127.0.0.1]) va lotin bo'lmagan harflar qabul qilinmaydi.
Manzil haqiqatan mavjudligini bilish uchun unga xat yuborib tasdiqlating.
EmailError qiymatlari: empty, tooLong, missingAt, emptyLocalPart,
localPartTooLong, invalidLocalPart, emptyDomain, invalidDomain.
Libraries
- axiy
- Small, dependency-free utilities from the Axiy team.