xxxxxxxxxx
String validatePassword(String value) {
// Password should have at least 6 characters
if (value.length < 6) {
return 'Password must contain at least 6 characters';
}
// Password should have at least one uppercase letter
if (!value.contains(RegExp(r'[A-Z]'))) {
return 'Password must contain at least one uppercase letter';
}
// Password should have at least one lowercase letter
if (!value.contains(RegExp(r'[a-z]'))) {
return 'Password must contain at least one lowercase letter';
}
// Password should have at least one digit
if (!value.contains(RegExp(r'[0-9]'))) {
return 'Password must contain at least one digit';
}
// Password is valid
return null;
}
xxxxxxxxxx
// Form
final GlobalKey<FormState> _form = GlobalKey<FormState>();
final TextEditingController _pass = TextEditingController();
final TextEditingController _confirmPass = TextEditingController();
Form(
key: _form,
child: ListView(
children: <Widget>[
TextFormField(
controller: _pass,
validator: (val){
if(val.isEmpty)
return 'Empty';
return null;
}
),
TextFormField(
controller: _confirmPass,
validator: (val){
if(val.isEmpty)
return 'Empty';
if(val != _pass.text)
return 'Not Match'
return null;
}
),
]
)
)
// To validate call
_form.currentState.validate()