Qual a melhor maneira de usar ErroProvider?

.NET

03/01/2014

Galera é o seguinte tenho alguns campos para validar, queria saber como disparar o ErroProvider apenas para campos Incorretos ou Nulos, tipo criar apenas um ErroProvider para validar todos o meus TextBox, e qual seria a melhor maneira de dispa-ralo? pelo evento Validated x Validating?
Raniel Gomes

Raniel Gomes

Curtidas 0

Respostas

Leandro Chiodini

Leandro Chiodini

03/01/2014

Aplicação web ou Desktope?

att
GOSTEI 0
Leandro Chiodini

Leandro Chiodini

03/01/2014

Eu curto,
colocar os textbox, dentro de um painel.
para dai fazer a busca dos text box .

ser mais reduzida.

o codigo ficaria assim.

protected bool ValidateNull()
{
foreach (Textbox item in Panel1.Controls.OfType 'menor que' Textbox 'maior que'().Reverse())
{
if(string.IsNullOrEmpty(item.Text.Trim()))
{
erroProvider.SetError(item, "Campo Obrigatório!");
item.Focus();
return false;
}
}
return true;
}
GOSTEI 0
Leandro Chiodini

Leandro Chiodini

03/01/2014

Você fazer asim tambem,
No final pintar os campos que ficaram sem preenchimento.
dai vai da tua aplicação.

foreach (Control controle in this.Controls)
            {
                if (controle.GetType() == typeof(TextBox))
                {
                    if (((TextBox)controle).TextLength == 0)
                    {
                        ((TextBox)controle).Focus();
                        ((TextBox)controle).BackColor = Color.Azure;
                    }
                }
            }
GOSTEI 0
Leandro Chiodini

Leandro Chiodini

03/01/2014

Completo ficaria assim.
Com o erroProvider

 private void btSalvar_Click(object sender, EventArgs e)
        {
            foreach (Control controle in this.Controls["pnTexto"].Controls)
            {
                if (controle.GetType() == typeof(TextBox))
                {
                    if (((TextBox)controle).TextLength == 0)
                    {
                        ((TextBox)controle).Focus();
                        ((TextBox)controle).BackColor = Color.Azure;
                        errorProvider1.SetError((TextBox)controle, "Campo Preenchimento Obrigatório");
                    }
                }
            }
        }
GOSTEI 0
POSTAR