2012-01-15 4 views
0

사용자가 직접 등록해야하는 웹 응용 프로그램을 작성하려고합니다. 필자는 필자의 필요에 따라 사용자 정의 검사기와 다른 검사기를 추가했습니다. .aspx.cs 파일에서 .aspx 파일asp.net에서 유효성 검사를 사용하여 양식 데이터를 데이터베이스에 삽입하는 방법은 무엇입니까?

<form id="form" name="form" action="../Hi.aspx" method="post"> 
<table cellspacing="4" class="style1"> 
    <tr> 
<td class="style4"> 
<asp:TextBox ID="TxtFirstName" runat="server" Width="157px"></asp:TextBox> 
</td> 
td class="style5" id="FName"> 
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TxtFirstName" 
ErrorMessage="Your First Name should be at least 2 characters long" 
onservervalidate="CustomValidator1_ServerValidate" ForeColor="Red" 
ValidateEmptyText="True"></asp:CustomValidator>... 

및 correspnding 코드의 코드의

일부는

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
     { 
      args.IsValid = (args.Value.Length>1); 
     } 

내가 응용 프로그램의이 부분을 실행할 때이 잘 작동합니다.

이제 모든 텍스트 필드의 값을 검색하여 데이터베이스에 저장하려고합니다. aspx.cs 파일에서

, 난 제출 버튼을 클릭 할 때 호출되는

protected void ButtonRegister_Click(object sender, EventArgs e) 
{ 
     string fname = TxtFirstName.Text; 
     Controllers.RegistrationController r = new Controllers.RegistrationController(); 
     int a = r.registerData(fname); 
     if (a==1) { 
      Response.Redirect("../Hi.aspx"); 
     } 
}  

같은 코드를 썼다.

데이터베이스와의 연결을 설정하고 양식 값을 저장하는 RegistrationController의 registerData() 메소드. 연결이 올바르게 설정되고 값이 검색되고 저장됩니다. 그러나 문제는 ButtonRegister_Click 메서드에서 registerData() 메서드를 호출 할 때 작성한 모든 유효성 검사가 작동하지 않는다는 것입니다. 양식에 입력 된 내용은 유효성 검사없이 데이터베이스에 저장됩니다.

값을 검색하여 저장하고 동시에 유효성을 검사하는 방법은 무엇입니까?

저는 .net에 익숙하지 않으므로 도움을 주시면 감사하겠습니다.

대단히 감사합니다.

답변

2

당신은 당신의 클릭 메서드 내에서 Page.Validate을 호출하고 그 또는 결과를 확인할 수 있습니다 당신은 규칙을 이동으로 볼 수도 있지만 장기적으로

을 실행할 수있는 valdation을 야기한다 당신의 버튼을 CausesValidation 지정 (예 : 비즈니스 논리)로 이동하면 지원 서비스로 이동할 때 해당 서비스에서 규칙을 다시 구현할 필요가 없습니다. 물론 그 서비스에서 규칙을 다시 구현해야 할 필요가 없다면 충분할 수 있습니다

+0

Page.Validate is not working. 다른 방법이 있습니까? 또는 유효성 검사를 위해 .aspx에서 .js 파일을 호출 할 수 있습니까? – Sathya

+1

if (! Page.IsValid) { return; }를 클릭하십시오. 도움 주셔서 대단히 감사합니다. – Sathya

관련 문제