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

套件詳情v0.0.13

inspection

在 Dart 與 Flutter 中像 Laravel 框架一樣驗證表單輸入和資料

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
231
喜歡數
21
Pub 分數
130

安裝套件

flutter pub add inspection

套件介紹

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

Inspection 是一個 Dart 與 Flutter 套件,提供受到 Laravel 框架啟發的表單輸入與資料驗證功能。它讓開發者能夠以宣告式方式定義驗證規則,確保跨平台的強健且一致的資料檢查。支援自訂驗證器、錯誤訊息與可鏈式呼叫的規則,簡化了 Flutter 應用中的表單處理。此套件可於 Android、iOS、Web、macOS、Windows 與 Linux 上順暢運作,非常適合需要強大驗證邏輯的跨平台應用。

適用情境

  • Flutter 應用中的表單驗證
  • 提交前的資料完整性檢查
  • 自定驗證規則實現
  • 跨平台驗證一致性
  • 即時輸入反饋
  • API請求數據預處理

主要特色

  • Laravel 風格的驗證語法
  • 可鏈式驗證規則
  • 自定義驗證器支援
  • 本地化錯誤訊息
  • 內建通用驗證器
  • 平台無關設計

適合對象

  • 尋求 Laravel 風格驗證的 Flutter 開發者
  • 具有複雜表單工作流程的應用程式
  • 需要一致驗證模式的團隊
  • 需要國際化的專案
  • 開發可重用驗證邏輯的開發者

使用建議

  • 需要理解 Laravel 風格的驗證概念
  • 可能需要額外設定以支援複雜的巢狀驗證
  • 與成熟的套件相比,文件較少
  • 未針對極高性能量驗迴圈進行優化

原始 README

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

Flutter Inspection Package

Pub License: MIT


Inspection

With Inspection you can validate your inputs in Flutter & Dart like Laravel Framework.

How to install :

Add this to your package's pubspec.yaml file:

dependencies:
  inspection: ^0.0.14

Then You can install packages from the command line:

$ pub get

or

$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

Now in your Dart code, you can use:

import 'package:inspection/inspection.dart';

Basic Usage :

You have a form , you want to validate inputs everyday in programming . With Inspection you can validate your inputs in Dart like Laravel Framework . See examples below .

You expect a required number with many conditions and rules : In this case , we get help from Inspection helper function .

  TextFormField(
    validator: (input) => inspection(input, 'required|numeric|between:2000,6000|contains:22,33,55|ends_with:0'),
  ),

You can use Inspection class :

  TextFormField(
    validator: (input) => Inspection().inspect(input, 'required|float'),
  ),

And you can use helper function and Inspection class with List of rules , so you can make a global validation configuration List and you can change your rules in whole of the application whenever you want.

  TextFormField(
    validator: (input) => inspection(input, ['required','float']),
  ),

or

TextFormField(
    validator: (input) => inspect(input, ['required','float']),
  ),

Options :

You can set attribute name , custom message and locale . For example :

TextFormField(
    validator: (input) => inspect(input, 'required|float',message: 'my custom message here !'),
  ),

Rules :

Rule Description Example
iran_national_code Input must be a iranian national code inspect(input,'iran_national_code')
have_alpha The attribute must have alpha in it inspect(input,'have_alpha')
alpha_num The attribute must contains only letters and numbers inspect(input,'alpha_num')
between The attribute must be between :min and :max inspect(input,'between:3,9')
contains The attribute must contains one of your worlds inspect(input,'contains:farid,farhad')
email The attribute must be a valid email inspect(input,'email')
ends_with The attribute must ends with your pattern inspect(input,'ends_with:bye')
gt The attribute must grater than :gt inspect(input,'gt:10')
gte The attribute must grater than or equal to :gte inspect(input,'gte:10')
hex The attribute must be a valid hex code inspect(input,'hex')
in The attribute must be one of options in your list inspect(input,'in:farid,farhad,john')
ip The attribute must be a valid IP inspect(input,'ip')
lt The attribute must be less than :lt inspect(input,'lt:100')
lte The attribute must be less than or equal to :lte inspect(input,'lte:100')
max The attribute must have maximum :max character inspect(input,'max:10')
min The attribute must have at least :min character inspect(input,'min:3')
not_in The attribute must not exists in list :not_in inspect(input,'not_in:saman,ahmad')
numeric The attribute must be a number inspect(input,'numeric')
alpha The attribute must contains only letters inspect(input,'alpha')
float The attribute must be float inspect(input,'float')
integer The attribute must be integer inspect(input,'integer')
number The attribute must contains only number inspect(input,'number')
regex The attribute must match with regex inspect(input,'regex:^[a-zA-Z0-9]')
required The attribute field is required inspect(input,'required')
starts_with The attribute must starts with your pattern inspect(input,'starts_with:hi')
url The attribute must be a valid url inspect(input,'url')

Locales :

Inspection supports two languages now . English with code : en , and Persian with code fa and Vietnamese with code vi. You can set locale when initialize inspection or in optional parameter of inspect method. For example :

  TextFormField(
    validator: (input) => Inspection(inspectionLocale : 'fa').inspect(input, 'required|in:farid,farhad'),
  ),

or

  TextFormField(
    validator: (input) => Inspection().inspect(input, 'required|in:farid,farhad',locale:'fa'),
  ),

Custom Rules :

You can simply extend from Inspection class and develop your custom rule . For example :

class CustomInspection extends Inspection {
  String myCustomRule(ruleString, inspectionCase) {
    switch (ruleString) {
      case 'myCustomRule':
        // Your conditional codes here or copy from a Rule class and change it to your own . 
        return MyCustomeRuleClass(inspectionCase).stringValidation();
    }
    return null;
  }
}

Contribute :

You can help me and contribute for :

  • New rules
  • More locales
  • Better exceptions

所屬分類

原始碼儲存庫

使用此套件的專案

暫無相關資料。