#13 Validation

Install email_validator

Form validation
 final _formKey = GlobalKey<FormState>();
     
    Form(
      key: _formKey,
       
       
       TextFormField(
        // we return "null" when something is valid
        validator: (value) {return value != null && !EmailValidator.validate(value) ? "Enter a valid email" : null;},
        autovalidateMode: AutovalidateMode.onUserInteraction,
        keyboardType: TextInputType.emailAddress,
        obscureText: false,
      ),
       
       
       TextFormField(
        // we return "null" when something is valid
        validator: (value) {return value!.length < 8 ? "Enter at least 6 characters": null;},
        autovalidateMode: AutovalidateMode.onUserInteraction,
        keyboardType: TextInputType.text,
        obscureText: true,
      ),
  
  
       ElevatedButton(
          onPressed: ()  {if (_formKey.currentState!.validate()) {register();} else {//Do something else} },
          child: isLoading ? CircularProgressIndicator(color: Colors.white,): Text("Register",style: TextStyle(fontSize: 19),),
          style: ButtonStyle(  ),
       ),


   )

مصدر الأكواد

Download files

#13.1 Show & hide password

Download files

#13.2 RegExp

Check if email is valid

dart RegExp


bool isVlidEmail = email.contains(RegExp(r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'*+-/=?^_`{|}~]+@[a-zA-Z0-9]+\.[a-zA-Z]+"));
Check if password contains all required characters

dart RegExp


bool hasUppercase = password.contains( RegExp(r'[A-Z]') );
bool hasDigits = password.contains( RegExp(r'[0-9]') );
bool hasLowercase = password.contains( RegExp(r'[a-z]') );
bool hasSpecialCharacters = password.contains( RegExp(r'[!@#$%^&*(),.?":{}|<>]') );
bool hasMin8Characters = password.contains( RegExp(r'.{8,}') );

مصدر الأكواد

Download files

#13.3 Task solution

Download files

😡
انت مشغل الـ AdBlock !!

ياريت تقفله لوسمحت 😊 😊

تنبيه هام ✋

إذا كانت الإعلانات مزعجة بالنسبة لك، فيُمكنك التبرع ب50$ وسيتم إيقاف الإعلانات لمدة شهر لجميع زوار الموقع 🧡 ويُمكنك التواصل معنا عن طريق صفحة الفيس بوك