none
Como estanciar uma classe? RRS feed

  • Pergunta

  • Bom dia..

     

    minha dúvida é:

     

    tenho um webform...nele tenho um texbox..com o cpf...ok?

    daí preciso validar o cpf...

    Já tenho a classe q faz isso...

    Adicionei uma classe e coloquei o código...agora daí pra frente não sei como fazer...

    Como vou chamar essa classe pra validar o cpf ?

     

    Por favor alguém pode me ajudar?

     

    Desde ja agradeço..

    Muito obrigada;

     

    Att.: Elaine

    quarta-feira, 12 de dezembro de 2007 12:40

Respostas

  • Certo, na sua classe tem um metodo que recebe uma string que vai verificar se é um cpf valido ok..

     

    então no seu WebForm, vc terá de fazer o seguinte.  Vc vai instanciar essa classe como te falei.

     

    Code Block
    ClassCpf teste = new ClassCpf;

     

     

    Depois basta vc pegar o valor do textbox que esta recebendo o cpf e passar como parametro do método que verifica na classe: algo assim:

     

    Code Block

     ClassCpf teste = new ClassCpf;

     

      teste.valida(this.tbcpf.text);

     

     

     

    entenda o que foi feito, eu instanciei a classe, criei o objeto, até ai blz,

    após isso eu chamei o método que valida e passei como parametro o valor do text box.

     

    assim, o que for digitado no textbox vai entrar para seu metodo de verificação.

     

    Espero que Ajude.

     

    Abraço.

    quarta-feira, 12 de dezembro de 2007 13:22
  • Elaine, sua classe está assim

    public bool Valida(string cpf)

     

    Isso significa que ela vai retornar um valor bool ou seja verdadeiro ou faço, você chamou a classe mas não verificou o valor de retorno dela, experimenta fazer assim...

    Inclua uma Label e coloque o id dela como LBLMensagem, para receber a mensagem de certo ou errado.

     

    ClassCPF ValidaCPF = new ClassCPF();

    if(ValidaCPF.Valida(this.TXTCFTXCPF.Text))

    LBLMensagem.Text = "CPF Validado.";

    Else

    LBLMensagem.Text = "CPF Inválido, tente novamente.";

     

    Assim você verifica se sua Classe está retornando True ou False.

     

    Att,

     

    Renato.

    quarta-feira, 12 de dezembro de 2007 15:03
  • Vai ver você já escreveu no text do label a mensagem invalida, se for isso pode deixar. Faça o seguinte:

    Deixe a propriedade visible do Label como False aí altere as seguintes linhas:

     

    if(ValidaCPF.Valida(this.TXTCFTXCPF.Text))

    LBLMensagem.visible = false;

    Else

    LBLMensagem.visible = true;

     

    Mas Elaine é o seguinte, eu coloquei só para dar um exemplo, você pode fazer o que quiser com essa informação como por exemplo redirecionar para outra página ou bloquear qualquer ação que esteja fazendo ou ainda desabilitar botão, você tem que analisar o que encaixa melhor no seu caso.

     

    Att,

    quarta-feira, 12 de dezembro de 2007 15:35

Todas as Respostas

  • Partindo do principio que vc ja colocou todos os atributos, métodos etc na sua classe, para instancia-la bas ta fazer isso:

     

    Classe teste = new Classe;

     

    nesse momento vc criou um objeto do tipo classe que se chama teste

     

    agora quando vc colocar

    teste.(ponto) vai listar todos os metodos e atributos da classe.

     

    Abraço.

    quarta-feira, 12 de dezembro de 2007 12:47
  • Intaum...

    Como eu estou aprendendo agora...olha o q eu fiz...

     

    Adicionei uma nova classe e coloquei o código:

     

    public class ClassCPF

    {

    public ClassCPF()

    {

    //

    // TODO: Add constructor logic here

    //

    }

    public bool Valida(string cpf)

    {

    int[] multiplicador1 = new int[9] { 10, 9, 8, 7, 6, 5, 4, 3, 2 };

    int[] multiplicador2 = new int[10] { 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 };

    string tempCpf;

    string digito;

    int soma;

    int resto;

    cpf = cpf.Trim();

    cpf = cpf.Replace(".", "").Replace("-", "");

    if (cpf.Length != 11)

    return false;

    tempCpf = cpf.Substring(0, 9);

    soma = 0;

    for (int i = 0; i < 9; i++)

    soma += int.Parse(tempCpf[ i ].ToString()) * multiplicador1[ i ];

    resto = soma % 11;

    if (resto < 2)

    resto = 0;

    else

    resto = 11 - resto;

    digito = resto.ToString();

    tempCpf = tempCpf + digito;

    soma = 0;

    for (int i = 0; i < 10; i++)

    soma += int.Parse(tempCpf[ i ].ToString()) * multiplicador2[ i ];

    resto = soma % 11;

    if (resto < 2)

    resto = 0;

    else

    resto = 11 - resto;

    digito = digito + resto.ToString();

    return cpf.EndsWith(digito);

    }

    }

     

    Certo?

     

    Depois disso fiquei perdida....

    Agora..como faço para colocar os atributos, métodos..e depois voltar lá no webform e chamar essa classe pra verificar o cpf ?

     

    Muito Obrigada pela ajuda...

     

    Att.: Elaine

     

     

     

    quarta-feira, 12 de dezembro de 2007 13:03
  • Certo, na sua classe tem um metodo que recebe uma string que vai verificar se é um cpf valido ok..

     

    então no seu WebForm, vc terá de fazer o seguinte.  Vc vai instanciar essa classe como te falei.

     

    Code Block
    ClassCpf teste = new ClassCpf;

     

     

    Depois basta vc pegar o valor do textbox que esta recebendo o cpf e passar como parametro do método que verifica na classe: algo assim:

     

    Code Block

     ClassCpf teste = new ClassCpf;

     

      teste.valida(this.tbcpf.text);

     

     

     

    entenda o que foi feito, eu instanciei a classe, criei o objeto, até ai blz,

    após isso eu chamei o método que valida e passei como parametro o valor do text box.

     

    assim, o que for digitado no textbox vai entrar para seu metodo de verificação.

     

    Espero que Ajude.

     

    Abraço.

    quarta-feira, 12 de dezembro de 2007 13:22
  • Olá..

     

    Intaum...olha o que eu  fiz:

     

    public partial class Cadastro : System.Web.UI.Page

    {

    ClassCPF ValidaCPF = new ClassCPF();

    protected void Page_Load(object sender, EventArgs e)

    {

     

    if (DDLCFTXPESSOA.SelectedValue == "JURIDICA")

    {

    Label8.Visible = true;

    TXTCFTXCNPJF.Visible = true;

    Label7.Visible = true;

    TXTCFTXRAZAO.Visible = true;

    Label11.Visible = true;

    TXTCFNMJUCESP.Visible = true;

    Label12.Visible = true;

    TXTCFTXINSMTE.Visible = true;

    Label13.Visible = true;

    TXTCFTXINESCP.Visible = true;

    Label9.Visible = false;

    TXTCFTXCPF.Visible = false;

    Label10.Visible = false;

    TXTCFTXRG.Visible = false;

    }

    else if (DDLCFTXPESSOA.SelectedValue == "FISICA")

    {

     

    Label8.Visible = false;

    TXTCFTXCNPJF.Visible = false;

    Label7.Visible = false;

    TXTCFTXRAZAO.Visible = false;

    Label11.Visible = false;

    TXTCFNMJUCESP.Visible = false;

    Label12.Visible = false;

    TXTCFTXINSMTE.Visible = false;

    Label13.Visible = false;

    TXTCFTXINESCP.Visible = false;

    Label9.Visible = true;

    TXTCFTXCPF.Visible = true;

    Label10.Visible = true;

    TXTCFTXRG.Visible = true;

    }

    ClassCPF ValidaCPF = new ClassCPF();

    ValidaCPF.Valida(this.TXTCFTXCPF.Text);

    }

    }

     

     

    Acho q ta errado...pq compilou...mas não validou ..passou direto...quando digitei um cpf errado...

    e como faço pra mandar msgem de erro quando o cpf estiver errado? Ou ele já acusa direto?

     

     

    Muito Obrigada pela ajuda..

    Att.: Elaine

     

    quarta-feira, 12 de dezembro de 2007 14:55
  • Elaine, sua classe está assim

    public bool Valida(string cpf)

     

    Isso significa que ela vai retornar um valor bool ou seja verdadeiro ou faço, você chamou a classe mas não verificou o valor de retorno dela, experimenta fazer assim...

    Inclua uma Label e coloque o id dela como LBLMensagem, para receber a mensagem de certo ou errado.

     

    ClassCPF ValidaCPF = new ClassCPF();

    if(ValidaCPF.Valida(this.TXTCFTXCPF.Text))

    LBLMensagem.Text = "CPF Validado.";

    Else

    LBLMensagem.Text = "CPF Inválido, tente novamente.";

     

    Assim você verifica se sua Classe está retornando True ou False.

     

    Att,

     

    Renato.

    quarta-feira, 12 de dezembro de 2007 15:03
  • Olá Renato...

     

    Deu certinho ...do jeito q vc falou...

    mas tem um pequeno problema...

    Como eu faço para que só apareça mensagem no LblMensagem caso o Cpf for inválido?

     

    E também..quando eu entro na página o LblMensagem ja vem com a mensagem "CPF inválido, tente novamente"

     

    sem q eu digite nada...pq?

     

    Muito obrigada..pela sua ajuda...

    Att.: Elaine

     

     

     

    quarta-feira, 12 de dezembro de 2007 15:27
  • Vai ver você já escreveu no text do label a mensagem invalida, se for isso pode deixar. Faça o seguinte:

    Deixe a propriedade visible do Label como False aí altere as seguintes linhas:

     

    if(ValidaCPF.Valida(this.TXTCFTXCPF.Text))

    LBLMensagem.visible = false;

    Else

    LBLMensagem.visible = true;

     

    Mas Elaine é o seguinte, eu coloquei só para dar um exemplo, você pode fazer o que quiser com essa informação como por exemplo redirecionar para outra página ou bloquear qualquer ação que esteja fazendo ou ainda desabilitar botão, você tem que analisar o que encaixa melhor no seu caso.

     

    Att,

    quarta-feira, 12 de dezembro de 2007 15:35
  •  

    Oi..

     

    Funcionou sim...

    Mas é o q t falei ...quando eu abro a página pela primeira vez...o lblmensagem...ja vem com a mensagem "CPF inválido!"

    Depois quando eu digito um cpf ele valida certinho...

     

     

    Muito obrigada...

    Att.: Elaine

    quarta-feira, 12 de dezembro de 2007 15:49
  • Não esqueça de marcar o post como resolvido...

     

    Precisando estamos por aqui.

     

    Att,

    quarta-feira, 12 de dezembro de 2007 15:51
  • Resposta a pergunta:

    lblmensagem.Text = "";

     

    OBS: Não é ESTÂNCIAR e sim instânciar uma classe.

     

    Espero ter ajudado tanto no .Net quanto no Português.

     

    sexta-feira, 7 de março de 2008 12:57