Usuário com melhor resposta
Como estanciar uma classe?

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
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 BlockClassCpf 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 BlockClassCpf 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.
-
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.
-
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,
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.
-
Intaum...
Como eu estou aprendendo agora...olha o q eu fiz...
Adicionei uma nova classe e coloquei o código:
public
class ClassCPF{
{
}
public bool Valida(string cpf){
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;
elseresto = 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;
elseresto = 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
-
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 BlockClassCpf 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 BlockClassCpf 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.
-
Olá..
Intaum...olha o que eu fiz:
public
partial class Cadastro : System.Web.UI.Page{
{
{
Label8.Visible =
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 =
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
-
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.
-
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
-
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,
-
-
-