搜尋套件、儲存庫與 APP 分類

套件詳情v3.0.8

auto_validate

Auto Validate 套件透過使用可自訂的正則表達式來簡化輸入驗證,進而能有效驗證各種資料格式。

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
145
喜歡數
60
Pub 分數
160

安裝套件

flutter pub add auto_validate

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Auto Validate 是一個 Flutter 套件,透過可自訂的正則表達式簡化輸入驗證。它讓開發者能以最少的程式碼有效驗證電子郵件、電話號碼和自訂模式等資料格式。此套件可無縫整合至表單中,提供即時反饋並減少重複的驗證邏輯。專為跨平台使用設計,支援 Android、iOS、Web、macOS、Windows 和 Linux,是於多樣環境中實現一致驗證的理想選擇。

適用情境

  • 表單輸入驗證
  • 即時用戶反饋
  • 電子郵件與電話號碼驗證
  • 自定義模式匹配
  • 跨平台應用
  • 減少驗證樣板程式碼

主要特色

  • 可自定義的正則表達式模式
  • 即時驗證
  • 跨平台支援
  • 最小設定
  • 與 TextFormField 的整合
  • 靈活的錯誤處理

適合對象

  • 開發表單的開發者
  • 需要嚴格輸入驗證的應用程式
  • 重視程式碼簡潔性的團隊
  • 針對多個平台的專案
  • 面向前端的 Flutter 應用程式

使用建議

  • 需要理解正則表達式語法
  • 可能需要為錯誤訊息添加額外的樣式
  • 不適用於複雜業務邏輯驗證
  • 有限的內建驗證器,超出正則表達式
  • 取決於正確的正則表達式設計以確保準確性

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

Auto Validate

The Auto Validate Package is a unique and easy-to-use solution for automatic validation of various data types using regular expressions.

Pub Package Build Status Unit Test creator Buy Me A Coffee

Importance

This package streamlines the validation process, allowing you to easily implement validation without needing to write the code yourself. By using this package, you can save valuable time and ensure that your input data meets the required criteria.

Usage

Here's a simple example of how to use the Auto Validate package:

String Validation Extension [New Feature]

This package provides an extension on String? that offers convenient methods for validating various input formats using the AutoValidate class. It allows for a more readable and fluent validation process in your Dart applications.

Features

  • Validate usernames, passwords, email addresses, phone numbers, credit card numbers, and more.
  • Check for valid formats like ISBN, MAC addresses, hexadecimal codes, and JSON Web Tokens (JWT).
  • Simplify validation checks by using fluent methods directly on String? instances.
  • Improve code readability and maintainability by using the extension methods for validation.
import 'package:auto_validate/auto_validate.dart';

  void validation() {
    var email = 'Dev.M.ElShenawy@Icloud.com';
    var name = 'Mahmud El Shenawy';
    var password = '@MahmoudElShenawy2021';
    var phone = '+201098415860';
  
    // You can validate the input using the AutoValidate class
    AutoValidate.email(email.toString())
            ? print('Email is Valid')
            : print('Email is Invalid');
  
    AutoValidate.userName(name.toString())
            ? print('User Name is Valid')
            : print('User Name is Invalid');
  
    AutoValidate.password(password.toString())
            ? print('Password is Valid')
            : print('Password is Invalid');
  
    AutoValidate.phone(phone.toString())
            ? print('Phone is Valid')
            : print('Phone is Invalid');
  
    // You can also use the extension methods to validate the input
    email.isValidEmail
            ? print('Email is Valid')
            : print('Email is Invalid');
  
    name.isValidUsername
            ? print('User Name is Valid')
            : print('User Name is Invalid');
  
    password.isValidPassword
            ? print('Password is Valid')
            : print('Password is Invalid');
  
    phone.isValidPhone
            ? print('Phone is Valid')
            : print('Phone is Invalid');
  }

A simple usage of Form Validator Example:

import 'package:auto_validate/auto_validate.dart';

  TextFormField(
                controller: emailController,
                decoration: InputDecoration(
                hintText: "Email",
                border: OutlineInputBorder(
                borderSide: BorderSide(),
                  ),
                ),
                validator: FormValidator.email(
                  errorMessage: 'Please Enter Valid Email',
                   ),
  );
More Details
  • Make validation on all next elements with AutoValidate

    • Arabic Input
    • UserName (It Contains Alphanumeric, underscores and hyphens and its long between 3 to 16 characters)
    • Password (It Contains at least 1 lowerCase letter, upperCase letter, number and 8 characters long)
    • Strong Password (It Contains at least 1 lowerCase letter, upperCase letter, number, special character and 8 characters long
    • Email
    • Phone Number
    • International Phone Number
    • Credit Card
    • SNN (Social Security Number)
    • Passport
    • Date (MM/DD/YYYY)
    • Date (YYYY/MM/DD)
    • IPV4 (Internet Protocol Version 4)
    • IPV6 (Internet Protocol Version 6)
    • Alphanumeric
    • Alphanumeric With Spaces
    • Alphabet
    • LowerCase
    • UpperCase
    • Digits
    • Decimals
    • Signed Decimals
    • URL
    • Base64
    • Base58
    • Base32
    • ASCII (American Standard Code for Information Interchange)
    • ByteLength ("Check String's Length (In Bytes) In A Range")
    • JWT (Json Web Token)
    • ISIN (International Securities Identification Number)
    • ISBN (International Standard Book Number - "You Have To Choose One Of Its Versions 10 or 13")
    • MAC Address (Media Access Control - "You Have To Choose With Colons Or Not")
    • BIC (Bank Identifier Code)
    • MD5 Hash (Message-Digest Algorithm)
    • Capitalized
    • Emoji
    • Hexadecimal Color
    • Hexadecimal Number
    • Latitude and Longitude
    • Magnet URI
    • Mongo ID
    • Multibyte Character Sets
    • Null
    • Non-Null
    • SameType
    • Match
    • MinLength
    • MaxLength
  • Make form validation on all next elements with FormValidator

    • Required (Non-Null Required Field - "For Empty TextFormField")
    • combination (Combination From More Than One Form Validator)
    • Arabic Input
    • UserName (It Contains Alphanumeric, underscores and hyphens and its long between 3 to 16 characters)
    • Password (It Contains at least 1 lowerCase letter, upperCase letter, number and 8 characters long)
    • Strong Password (It Contains at least 1 lowerCase letter, upperCase letter, number, special character and 8 characters long
    • Email
    • Phone Number
    • International Phone Number
    • Credit Card
    • SNN (Social Security Number)
    • Passport
    • Date (MM/DD/YYYY)
    • Date (YYYY/MM/DD)
    • IPV4 (Internet Protocol Version 4)
    • IPV6 (Internet Protocol Version 6)
    • Alphanumeric
    • Alphanumeric With Spaces
    • Alphabet
    • LowerCase
    • UpperCase
    • Digits
    • Decimals
    • Signed Decimals
    • URL
    • Base64
    • Base58
    • Base32
    • ASCII (American Standard Code for Information Interchange)
    • JWT (Json Web Token)
    • ISIN (International Securities Identification Number)
    • MAC Address (Media Access Control - "Without Colons")
    • BIC (Bank Identifier Code)
    • MD5 Hash (Message-Digest Algorithm)
    • Capitalized
    • Latitude and Longitude
    • Magnet URI
    • Mongo ID
    • Multibyte Character Sets
    • MinLength
    • MaxLength

Note

  • Auto Validate is used to check any value you want
  • Form Validator is the same previous functionality but with error message that uses in TextFormField validator attribute
  • You can use more than one Form validator like next example:-
import 'package:auto_validate/auto_validate.dart';

  TextFormField(
                controller: emailController,
                decoration: InputDecoration(
                hintText: "Password",
                border: OutlineInputBorder(
                borderSide: BorderSide(),
                  ),
                ),
                validator: FormValidator.combination(
                 validators: [
                 FormValidator.maxLength(maxLength: 15, errorMessage: 'Password Enter Valid Password With Max Length 15'),
                 FormValidator.minLength(minLength: 5, errorMessage: 'Password Enter Valid Password At Least Min Length 5'),
                 FormValidator.passwordStrong(errorMessage: 'Please Enter Valid Strong Password')
                 ])
  );

Report Issues

If you encounter any issues, bugs, or have suggestions for improvements, please report them on the GitHub Issues page.

When reporting an issue, please provide the following information:

  • A clear description of the problem or feature request.
  • Steps to reproduce the issue (if applicable).
  • The version of the Auto Validate package you are using.
  • Any relevant code snippets or screenshots.

Your feedback is invaluable for improving the package and helping others in the community!

Created By

This project is licensed under the MIT License - see the LICENSE file for details

所屬分類

依賴

依賴清單 1 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。