PasswordChecklist class

Widget de checklist para validação de senha em tempo real.

Exibe regras configuráveis e indica visualmente quais foram atendidas. Suporta customização de cores, mensagens, ícones e layout.

Example:

PasswordChecklist(
  controller: myController,
  minCharacters: 8,
  onValidationChanged: (valid) => setState(() => _isValid = valid),
)
Inheritance

Constructors

PasswordChecklist({Key? key, required TextEditingController controller, required ValueChanged<bool> onValidationChanged, bool checkEightCharacters = true, bool checkSpecialCharacter = true, bool checkNumber = true, bool checkUppercase = true, bool checkLowercase = true, bool checkOnlyNumbers = false, int minCharacters = 8, RegExp? specialCharactersRegex, Color? validColor, Color? invalidColor, String? eightCharactersMessage, String? specialCharacterMessage, String? numberMessage, String? uppercaseMessage, String? lowercaseMessage, String? onlyNumbersMessage, Widget? customIcon, Widget? customIconBuilder(String ruleId, bool isValid)?, double itemSpacing = 8.0, TextStyle? validTextStyle, TextStyle? invalidTextStyle, Widget? itemBuilder(PasswordRuleItem item)?, EdgeInsetsGeometry? padding, EdgeInsetsGeometry? margin, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.start, MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, List<PasswordRuleType>? ruleOrder})
const

Properties

checkEightCharacters bool
Verifica comprimento mínimo. Default: true.
final
checkLowercase bool
Verifica letra minúscula. Default: true.
final
checkNumber bool
Verifica presença de número. Default: true.
final
checkOnlyNumbers bool
Rejeita senhas compostas apenas por números. Default: false. Since 2.0.0
final
checkSpecialCharacter bool
Verifica caractere especial. Default: true.
final
checkUppercase bool
Verifica letra maiúscula. Default: true.
final
controller TextEditingController
Controller do campo de senha.
final
crossAxisAlignment CrossAxisAlignment
Alinhamento transversal da coluna. Since 2.0.0
final
customIcon Widget?
Ícone único para todos os itens. Se customIconBuilder existir, este é ignorado.
final
customIconBuilder Widget? Function(String ruleId, bool isValid)?
Ícone customizado por regra. Since 2.0.0
final
eightCharactersMessage String?
Mensagem para comprimento mínimo.
final
hashCode int
The hash code for this object.
no setterinherited
invalidColor Color?
Cor quando a regra não está satisfeita. Default: Colors.red.
final
invalidTextStyle TextStyle?
Estilo do texto quando inválido. Since 2.0.0
final
itemBuilder Widget? Function(PasswordRuleItem item)?
Builder customizado para cada item. Se retornar não-nulo, substitui o layout padrão. Since 2.0.0
final
itemSpacing double
Espaço entre itens. Default: 8.0. Since 2.0.0
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
lowercaseMessage String?
Mensagem para minúscula.
final
mainAxisAlignment MainAxisAlignment
Alinhamento principal da coluna. Since 2.0.0
final
margin EdgeInsetsGeometry?
Margem externa do container. Since 2.0.0
final
minCharacters int
Comprimento mínimo quando checkEightCharacters é true. Default: 8.
final
numberMessage String?
Mensagem para número.
final
onlyNumbersMessage String?
Mensagem quando a senha é apenas números. Since 2.0.0
final
onValidationChanged ValueChanged<bool>
Callback chamado quando o status de validação muda.
final
padding EdgeInsetsGeometry?
Padding interno do container. Since 2.0.0
final
ruleOrder List<PasswordRuleType>?
Ordem das regras exibidas. Se null, usa a ordem padrão. Since 2.0.0
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
specialCharacterMessage String?
Mensagem para caractere especial.
final
specialCharactersRegex RegExp?
Regex para caracteres especiais. Default: !@#\$%^&*(),.?":{}|<> Since 2.0.0
final
uppercaseMessage String?
Mensagem para maiúscula.
final
validColor Color?
Cor quando a regra está satisfeita. Default: Colors.green.
final
validTextStyle TextStyle?
Estilo do texto quando válido. Since 2.0.0
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<PasswordChecklist>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

defaultRuleOrder List<PasswordRuleType>
Ordem padrão das regras.
no setter