2011-08-16 9 views
0

requiredfieldvalidator 컨트롤이 ASP.net 페이지에서 작동하지 않는 문제가 있습니다. 해당 필드의 특성을 올바르게 완료했지만 테스트 할 때 문제의 필드가 비어 있더라도 다시 게시 할 수 있습니다.필수 필드에 대한 서버 측 유효성 검사

그래서 서버 측 유효성 검사를 대신 수행하려고합니다. 그렇게하는 가장 좋은 방법은 무엇입니까? 다시 게시가 발생한 경우 또한 입력란이 비어있는 경우 다른 입력란에 다른 모든 값을 그대로두고 '이 입력란을 비워 둘 수 없음'이라는 메시지가 표시되면 어떻게 사용자에게 다시 표시되게 할 수 있습니까?

편집 :

<asp:TextBox ID="fName" TabIndex="1" runat="server" Width="221px" CausesValidation="True"></asp:TextBox> 
<asp:RequiredFieldValidator ID="FNameRequiredFieldValidator" runat="server" 
     ControlToValidate="fName" InitialValue="" ErrorMessage="Filter Name cannot be blank." 
     ToolTip="Filter Name cannot be blank.">*</asp:RequiredFieldValidator> 

답변

0

당신이 검증 및 확인 텍스트 상자에 관련된 코드의 HTML 부분을 게시 할 수 :

이 코드입니다. 방망이를 치면 유효성 검사기의 ControlToValidate 속성이 누락 된 것처럼 들립니다. 페이지 클래스의 IsValid 속성을 사용하여 더 오래된 페이지 유효성 검사를 테스트 할 수도 있습니다.

이것은 완전히 작동합니다.

<asp:TextBox ID="TextBox1" runat="server" />; 

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="*" /> 

<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 
0

분명히 잘못 된 일을하기 때문에 먼저 requiredfieldvalidator의 코드를 게시하십시오.

그러나 클라이언트와 서버 측 모두에서 확인하는 것이 좋으므로 다른 질문에 답해 드리겠습니다.

보통 나는 포스트 백의 이벤트 처리기에서 유효성을 검사합니다. 레이블의 값을 설정하여 실패를 나타낼 수 있습니다. 모든 필드의 값은 다시 게시 이후 입력 한대로 유지되어야합니다.

1

CauseValidation 속성을 유효성 검사기 기본값에서 TextBoxInvalidValue으로 제거하면 정상적으로 작동합니다.

Page_Load 뒤에 서버 측 유효성 검사가 실행되고 이벤트가 제어됩니다. 필수 유효성 검사기를 사용하는 경우 추가 코드를 작성할 필요가 없습니다.

Button_Click에서 이벤트는 단지 this.Page.IsValid 플래그를 확인하십시오.

0

텍스트 상자에 기본 텍스트가있는 경우 (예 : '값 입력'또는 일부 입력란)에만 텍스트 상자를 사용해야합니다.

관련 문제