2012-11-28 4 views
1

하나의 단추와 하나의 유효성 검사기가있는 여러 줄의 텍스트 상자가있는 양식이 있습니다.텍스트 상자의 블러 재평가가 없음

<asp:RequiredFieldValidator ID="vldQuestionTextRequired" runat="server" ControlToValidate="tbmQuestionText" 
     Display="Dynamic"></asp:RequiredFieldValidator> 
<asp:CustomValidator ID="vldNotHintText" runat="server" ControlToValidate="tbmQuestionText" 
     Display="Dynamic" EnableClientScript="true" OnServerValidate="HintText_ServerValidate" 
     ClientValidationFunction="HintText_ClientValidate"></asp:CustomValidator> 
     <span class="eq_ad_question_field_bg">&nbsp;&nbsp;&nbsp;&nbsp;</span> 
     <asp:TextBox ID="tbmQuestionText" runat="server" CssClass="eq_ad_question_field" 
      TextMode="MultiLine"></asp:TextBox> 

JS는 다음과 같습니다 클라이언트 측 유효성 검사 : 나는 다음과 같은 마크 업이

function HintText_ClientValidate(sender, e) 
{ 
    if(e.Value != null) 
     e.IsValid = e.Value != '<%= InstructionalText %>'; 
    else 
     e.IsValid = false; 
} 

내가 올바른 검증 오류 메시지가 원래 힌트 텍스트를 수정하지 않고 버튼을 클릭하고, 초점은 텍스트 상자로 돌아갑니다. 그런 다음 텍스트 상자에 내용을 쓰고 버튼을 클릭하면 유효성 검사기가 다시 평가되고 사라지지만 다시 게시 할 필요가 없습니다. 버튼을 다시 클릭하면 다시 게시됩니다.

이전에이 동작을 본 사람이 있습니까? 감사합니다.

편집 : 동적 대신 유효성 검사기를 정적으로 만들면 단추가 작동하는 것으로 나타났습니다. 이 문제를 해결할 방법이 있습니까?

+0

아마도이 솔루션이 도움이 될까요? http://stackoverflow.com/questions/12212881/requiredfieldvalidator-working-oddly-in-update-panel/13135685#13135685 또는 동일한 http://stackoverflow.com/questions/8577052/dynamically-created-requiredfieldvalidator-bypasses- 클라이언트 쪽 유효성 검사/13153236 # 13153236 –

+0

@ BorissPavlovs - 수동으로 흐림 효과를 추가 할 수 있습니다. 내가 asp.net js 프레임 워크가 IMHO 이러한 것들을 돌봐야한다고 생각하기 때문에 내가 놓친 것 찾고 뭔가를 찾고있었습니다. –

+0

유효성 검사 후 Page_IsValid가 여전히 false이면 발생할 수 있습니다. 나는 당신이 validator와 button을위한 validation 그룹을 추가하는 것을 잊지 않았다고 생각한다. 보통 Custom Validation 함수에서 Page IsValid = args.IsValid를 사용합니다. –

답변

1

글쎄,이 글 상자에는 약간의 자바 스크립트가있어서 신축성이 있습니다. 이 자바 스크립트는 사용되지 않은 공간을 제거하기 위해 onblur 이벤트를 처리하고 텍스트 박스가 변경 되었기 때문에 포스트 백이 중지되었습니다. 텍스트 상자의 최소화는 처음부터 요구 사항이 아니므로 제거하고 포스트 백이 훌륭하게 작동했습니다.