Search packages, repositories and app categories

Package detailsv1.0.4

flutter_laravel_form_validation

A simplified dart extension based flutter form validation . Inspired by Laravel Validation.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
224
Likes
24
Pub points
160

Install package

flutter pub add flutter_laravel_form_validation

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package that simplifies form validation using a syntax inspired by Laravel's validation rules. It provides a clean, expressive way to define validation constraints directly in Dart, making it easier to validate user input across multiple platforms. The extension integrates seamlessly with Flutter widgets and supports custom error messages, rule chaining, and real-time feedback. Ideal for developers familiar with Laravel’s validation system or those seeking a more intuitive approach to form validation.

Use cases

  • Validating user registration forms
  • Implementing real-time input validation
  • Creating reusable validation rules
  • Handling complex form logic
  • Simplifying error messaging
  • Integrating with existing Flutter forms

Key features

  • Laravel-inspired validation syntax
  • Chainable validation rules
  • Customizable error messages
  • Support for multiple platforms
  • Easy integration with Flutter widgets
  • Real-time validation feedback

Suitable for

  • Flutter developers familiar with Laravel
  • Teams seeking consistent validation patterns
  • Projects requiring robust form validation
  • Developers wanting concise validation code
  • Apps with complex form requirements

Considerations

  • Requires understanding of Laravel validation concepts
  • Limited documentation beyond basic examples
  • May need additional setup for advanced use cases
  • Not suitable for non-form validation scenarios
  • Best used in conjunction with state management solutions

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Flutter Laravel Form Validation

A simplified dart extension based flutter form validation . Inspired by Laravel Validation.

🎖 Installing

dependencies:
  flutter_laravel_form_validation : ^1.0.4
⚡️ Import
import 'package:flutter_laravel_form_validation/flutter_laravel_form_validation.dart';

🎮 How To Use

Validation rules in a list, short form without label or custom messages

    TextFormField(
        validator : ['required','max:10','uppercase'].v,
    ),

Validation rules in a list using the FLValidator class, short form without label or custom messages

    TextFormField(
        validator : [FLValidator.required,FLValidator.max(10),FLValidator.uppercase].v,
    ),

Custom validation in a list

    TextFormField(
        validator : [FLValidator.required,customValidation].v,
    ),

    String? customValidation(String? value) {
    if (value == "flutterdev") {
        return "Value cannot be flutterdev";
    }
    return null;
    }

Validation rules in a string, short form without label or custom messages

    TextFormField(
        validator : "required|max:10|uppercase".v,
    ),

Validation rules in a list with label or custom messages

 TextFormField(
        validator : ['required','max:10','uppercase',].validate(attribute: 'Username',
        customMessages: {
            'required': "You must input your username",
            'max': "The length must be 10",
             'uppercase': "Only uppercase is allowed"
            },
    ),

Validation rules in a list with label or custom messages

 TextFormField(
        validator : "required|max:10|uppercase".validate(attribute: 'Username',
        customMessages: {
            'required': "You must input your username",
            'max': "The length must be 10",
             'uppercase': "Only uppercase is allowed"
            },
    ),

Rules

Class property String Description Example
FLValidator.required required For making sure a form field value is required ['required'] or 'required' or [FLValidator.required]
FLValidator.numeric numeric For making sure a form field value is numeric ['numeric'] or 'numeric' or [FLValidator.numeric]
FLValidator.integer interger For making sure a form field value is an interger ['interger'] or 'interger' or [FLValidator.interger]
FLValidator.double double For making sure a form field value is a double ['double'] or 'double' or [FLValidator.double]
FLValidator.between(min,max) between(min,max) For making sure a form field value is between the of min and max ['between:2,8'] or 'between(2,8)' or [FLValidator.between(2,8)]
FLValidator.max(length) max:length For making sure a form field value length is limited to the max length ['max:5'] or 'max:5' or [FLValidator.max(5)
FLValidator.min(length) min:length For making sure a form field value length is limited to the min length ['min:5'] or 'min:5' or [FLValidator.min(5)]
FLValidator.gt(number) gt:number For making sure a form field value is greater than the number specified ['gt:10'] or 'gt:10' or [FLValidator.gt(10)]
FLValidator.lt(number) lt:number For making sure a form field value is less than the number specified ['lt:10'] or 'lt:10' or [FLValidator.lt(10)]
FLValidator.gte(number) gte:number For making sure a form field value is greater than or equal to the number specified ['gte:10'] or 'gte:10' or [FLValidator.gte(10)]
FLValidator.lte(number) lte:number For making sure a form field value is less than or equal to the number specified ['lte:10'] or 'lte:10' or [FLValidator.lte(10)]
FLValidator.uppercase uppercase For making sure a form field value is uppercase ['uppercase'] or 'uppercase' or [FLValidator.uppercase]
FLValidator.lowercase lowercase For making sure a form field value is lowercase ['lowercase'] or 'lowercase' or [FLValidator.lowercase]
FLValidator.startsWith(value) starts_with:value For making sure a form field value starts with the specified value ['starts_with:man'] or 'starts_with:man' or [FLValidator.startsWith(man)]
FLValidator.endsWith(value) ends_with:value For making sure a form field value ends with the specified value ['ends_with:man'] or 'ends_with:man' or [FLValidator.endsWith(man)]
FLValidator.same(other) same:other For making sure a form field value is same as other ['same:other'] or 'same:other' or [FLValidator.same(other)]
FLValidator.alphaNum alpha_num For making sure a form field value is alpha numeric ['alpha_num'] or 'alpha_num' or [FLValidator.alphaNum]
FLValidator.inItems(List items) in: For making sure a form field value exist in a list ['in:he,she,it'] or 'in:he,she,it' or [FLValidator.inItems([he,she,it])]
FLValidator.notInItems(List items) not_in: For making sure a form field value does exist in a list ['not_in:he,she,it'] or 'not_in:he,she,it' or [FLValidator.notInItems([he,she,it])]
FLValidator.regEx(pattern) regex:pattern For making sure a form field value match the specified regular expression pattern ['regex:pattern'] or 'regex:pattern' or [FLValidator.regEx(pattern)]
FLValidator.email email For making sure a form field value is an email ['email'] or 'email' or [FLValidator.email]
FLValidator.ip ip For making sure a form field value is an ip address ['ip'].v or 'ip'.v or [FLValidator.ip].v
FLValidator.url url For making sure a form field value is a url ['url'].v or 'url'.v or [FLValidator.url].v

Also, localization is a work in progress

🐛 Bugs/Requests

If you encounter any problems feel free to open an issue. If you feel the library is missing a feature, please raise a ticket on Github and I'll look into it. Pull request are also welcome.

Categories

Source repository

Projects using this package

No data available yet.