2009-10-05 3 views
1

ASP.net 사용자 정의 유효성 검사기 컨트롤을 사용하여 HTML 편집기의 내용을 확인하려고합니다. 아이디어는 필수 필드 유효성 검사기가 작동하는 것과 같은 방식으로 일부 내용이 입력되었는지 확인하는 것입니다. ClientValidationFunction = "된 SomeFuncion"에서 ASP.net Ajax 툴킷에서 HTML 편집기의 버그

나는이 기능을 참조 :

function SomeFunction(source, args) 
    { 
     var editor = $find("<%=htmlEditor.ClientID%>"); 
     var content = editor.get_content(); 
     var isValid = content.length > 0; 
     editor.set_content(content); 
     args.IsValid = isValid; 
    } 

내가받은 후 내용을 설정 한 이유는, 이것이 재 등록에 컨텐츠를 얻을 수있는 해킹 때문이다 편집자. 어떤 이유로, 게시 다시 시도 할 때 두 번째 시도에서 콘텐츠를 다시 설정하지 않으면 유효성 검사가 완료된 후 첫 번째 시도에서 비어있는 콘텐츠가 유효한 콘텐츠 대신 게시됩니다.

누구든지 콘텐츠를 재설정하지 않고도 HTML 편집기의 내용을 확인하는 방법을 알고 있습니까? 또는 set_content()를 사용하여 재설정 한 경우 글꼴 크기 및 글꼴 스타일 메뉴가 비활성화 되 지 않습니까?

답변

1

OK, Ajax Toolkit의 최신 릴리스 (2009 년 9 월)로 업데이트하여이 문제를 해결했습니다.

set_content() 해킹이 더 이상 필요하지 않습니다. 위의 자바 스크립트 코드에서 이것을 제거하면 사용자 정의 유효성 검사기가 작동합니다. 이제 HTML 편집기는 업데이트 된 내용을 서버에 전달합니다. "Woohoo!"

버그 수정을 위해 Obout에있는 사람들 덕분에! :-)

1

이전 게시물에서 말했듯이, set_content 해킹이 필요 없습니다. 이 에디터가 비어 있지 않은지 내가 확인하는 데 사용하는 내 코드입니다 :

<asp:CustomValidator 
        CssClass="errorMessage" 
        ID="HtmlEditorValidator" 
        runat="server" 
        ErrorMessage="Release Note cannot be empty" 
        Display="None" 
        ControlToValidate="radEditor" 
        EnableClientScript="true" 
        ClientValidationFunction ="checkEditorNotEmpty" 
        OnServerValidate="CheckEditorNotEmptyServerSide" 
        ValidateEmptyText="true"> 
</asp:CustomValidator> 

function checkEditorNotEmpty(source, args) 
     { 
      var editor = $find("<%=radEditor.ClientID%>"); 
      var cont = editor.get_text(); 
      var isValid = cont.length > 0; 
      args.IsValid = isValid; 
     } 

// 뒤에 코드에서 :

protected void CheckEditorNotEmptyServerSide(object sender, ServerValidateEventArgs args) 
     { 
      bool valid = args.Value.Length > 0; 
      args.IsValid = valid; 
     } 

이 9 월 출시와 함께 작동, 나는 그들이를 바라고 있어요 Novemeber 릴리스에서 버그 수정을 놓치지 않았습니다. 매우 이상 할 것입니다.

HTH