Validar formulários sempre foi, e será, uma tarefa desagradável.
Quantas linhas de código escritas em cada formulário para validar se uma textbox tem o valor esperado, antes de gravar na base de dados?
E se existisse um componente que fosse arrastado para o form e que automáticamnte validasse as textbox, independentemente do tipo de informação que se espera delas?
Pois é isso mesmo que é utilizado no HRM. Validators!!!
Nem pensem que vou escrever mais linhas de código para validar se o utilizador escreveu alguma informação na designação de um formulário.
O namespace HRM.Components.Windows.Forms incorpora 3 validators:
- RangeValidator - valida valores mínimos e máximos
- RegularExpressionValidator - valida utilizando expressões regulares
- RequiredFieldValidator - valida campos obrigatórios

Como utilizar os Validators?
Num form, adicionar uma textbox (txtname), command button(cmdOk) e um RequiredFieldValidator(RequiredFieldValidator1).

Na propriedade ControltoValidate do RequiredFieldValidator1 definir txtname e em ErrorMessage a mensagem que pretendem mostrar ao utilizador.
No evento click do cmdOk, insiram o seguinte código:
If BaseValidator.IsFormValid(Me.components) Then
Me.Close()
Else
MessageBox.Show("Ocorreram erros na validação do formulário.", "Validação do formulário", _
MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
Agora, para testar, compilem e tentem selecionar o cmdOk sem preencher a txtName, para verem a validação mostrar ao utilizador que algo não está correcto.

Muito mais fácil e cómodo! Sem desculpas para não validar formulários.
Poderão também criar outro tipo de Validators para satisfazer as vossas necessidades específicas.
2 comentários:
Talvez mensagens individuais para cada campo de texto seria bom: num formulario de grandes dimensoes, "Ocorreram erros na validação do formulário" pode ser um pouco vago.
Olá Patrick... obrigado pela tua participação...
Concorso contigo... mas este foi apenas um exemplo... o ideal é uma mensagem para cada campo.
Postar um comentário