Usuário com melhor resposta
Como Validar MaskedTextbox?

Pergunta
-
Tenho um campo de cadastro o qual mistura
textbox
comuns commaskedtextbox
, criei um código de validação que não permite o usuário efetuar o cadastro caso uma delas estiverem vazias.Mas esta apenas validando astextbox
comuns e não asmaskedtextbox
, permitindo efetuar o cadastro com campos importantes estando vazios.Segue o código que explica como faço este processo.private void btnInserir_Click(object sender, EventArgs e) { ConsultaPacientes.msg = true; if (cbxConvenio.SelectedItem == null) { MessageBox.Show("O campo PAGAMENTO deve ser preenchido!"); cbxConvenio.Focus(); cbxConvenio.BackColor = Color.LightSeaGreen; cbxConvenio.DroppedDown = true; } else if(txtNome.Text == string.Empty) { MessageBox.Show("O campo NOME deve ser preenchido!"); txtNome.BackColor = Color.LightSeaGreen; } else if (String.IsNullOrWhiteSpace(txtCPF.Text)) { MessageBox.Show("O campo CPF deve ser preenchido!"); txtCPF.BackColor = Color.LightSeaGreen; } else if (txtRG.Text == "") { MessageBox.Show("O campo RG deve ser preenchido!"); txtRG.BackColor = Color.LightSeaGreen; } else if (txtCidade.Text == string.Empty) { MessageBox.Show("O campo CIDADE deve ser preenchido!"); txtCidade.BackColor = Color.LightSeaGreen; } else if (txtRua.Text == string.Empty) { MessageBox.Show("O campo RUA deve ser preenchido!"); txtRua.BackColor = Color.LightSeaGreen; } else if(txtCelular.Text == "" || txtFixo.Text == "") { MessageBox.Show("Um dos campos de telefone deve ser preenchido!"); txtCelular.BackColor = Color.LightSeaGreen; txtFixo.BackColor = Color.LightSeaGreen; } else { if (btnInserir.Text == "Inserir") { btnInserir.Tag = "Inserir Novo Paciente"; Pacientes_TCCTableAdapter TaPaciente = new Pacientes_TCCTableAdapter(); TaPaciente.Insert(txtNome.Text, txtCPF.Text, txtRG.Text, cbxSexo.Text, dtpData.Value, txtCidade.Text, txtEstado.Text, txtBairro.Text, txtCEP.Text, txtRua.Text, txtNumero.Text, txtCelular.Text, txtFixo.Text, txtEmail.Text, cbxConvenio.Text); Close(); if (MessageBox.Show("Paciente gravado com o ID: " + TaPaciente.UltimooID() + " deseja fazer outro cadastro?", "Confirma", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { Close(); } else { FrmCadCliente novo = new FrmCadCliente(); novo.Show(); } } else { Pacientes_TCCTableAdapter TaPaciente = new Pacientes_TCCTableAdapter(); TaPaciente.Update(txtNome.Text, txtCPF.Text, txtRG.Text, cbxSexo.Text, dtpData.Value, txtCidade.Text, txtEstado.Text, txtBairro.Text, txtCEP.Text, txtRua.Text, txtNumero.Text, txtCelular.Text, txtFixo.Text, txtEmail.Text, cbxConvenio.Text, (int.Parse(txtID.Text))); MessageBox.Show("Paciente editado com sucesso!"); Close(); } } }
Acabei nomeando asmaskedtextbox
como astextbox
normais pois já havia programado boa parte da aplicação quando fiz a substituição pormaskedtextbox
. Os campos que usammaskedtextbox
são os campos de CPF, RG, Celular e Fixo(telefone).
Respostas
-
Para os campos que são MaskedTextbox, ao invés de usar maskedTextBox.Text, use maskedTextBox.MaskCompleted ou maskedTextBox.MaskFull.
Ex:
// ... else if (!txtCPF.MaskCompleted) // Ou o MaskFull { MessageBox.Show("O campo CPF deve ser preenchido!"); txtCPF.BackColor = Color.LightSeaGreen; } // ...
A diferença entre o MaskCompleted é que ele só valida os elementos obrigatórios da máscara, já o MaskFull valida tanto obrigatórios quanto opcionais.
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Editado Juliano Nunes Silva Oliveira domingo, 13 de novembro de 2016 18:58
- Marcado como Resposta arashijjh domingo, 13 de novembro de 2016 19:24
Todas as Respostas
-
Para os campos que são MaskedTextbox, ao invés de usar maskedTextBox.Text, use maskedTextBox.MaskCompleted ou maskedTextBox.MaskFull.
Ex:
// ... else if (!txtCPF.MaskCompleted) // Ou o MaskFull { MessageBox.Show("O campo CPF deve ser preenchido!"); txtCPF.BackColor = Color.LightSeaGreen; } // ...
A diferença entre o MaskCompleted é que ele só valida os elementos obrigatórios da máscara, já o MaskFull valida tanto obrigatórios quanto opcionais.
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Editado Juliano Nunes Silva Oliveira domingo, 13 de novembro de 2016 18:58
- Marcado como Resposta arashijjh domingo, 13 de novembro de 2016 19:24
-