0

다음 TinyMCE 편집기가 있습니다. 사용자가 아무것도 채우지 않고 양식을 제출하려고하면 클라이언트 측 유효성 검사가 트리거됩니다.사용자가 공백이나 줄 바꿈을 입력하면 JQuery 유효성 검사가 작동하지 않습니다.

그러나 사용자가 공백이나 줄 바꿈을 입력하면 유효성 검사가 작동하지 않습니다.

이 유형의 시나리오에서도 클라이언트 쪽 유효성 검사를 어떻게 트리거 할 수 있습니까?

현재 내 양식은 다음과 같습니다

뷰 모델 :

[Required] 
public string Comments { get; set; } 

보기 :

<form id="tinymceform"> 
    <div class="tinymceholder"> 
    @Html.TextArea("Comments", null, new { id = "mytextarea" }) 
    @Html.ValidationMessage("Comments") 
    </div> 

    <button type="submit">Submit</button> 
</form> 

위로 렌더링은 다음과 같습니다

,210

스크립트 : 나는 시도

<script type="text/javascript"> 
    tinymce.init({ 
     selector: '#mytextarea' 
    }); 

    if ($(".tinymceholder").length === 0) { 
     return; 
    }else { 

     $.validator.setDefaults({ 
      ignore: [] 
     }); 
    } 
</script> 

다음 그러나 작동하지 않습니다.?

$('#tinymceform').submit(function(e){ 
    e.preventDefault(); 

    var content = tinymce.activeEditor.getContent({ format: 'text' }); 

    if ($.trim(content) === '') { 
     $('#tinymceform').validate().showErrors({ 
      "Comments": "This field cannot be empty" 
     });); 
    } 

    if (!$('#tinymceform').valid()) return false; 

    this.submit(); 

}); 
+0

플러그인에 내장되어있는 공백을 제거하는 노말 라이저가 있습니다. 그러나, 당신의 프레임 워크 내에서 이것을 구현하는 방법을 모르겠습니다. https://jqueryvalidation.org/normalizer/ – Sparky

+0

jQuery Validate 플러그인이 이미 수행하고있는 작업을 시도하고있어 시도한 솔루션이 작동하지 않습니다. 유효성 검사를 수행하기 위해 기본 제출을 차단합니다. 프레임 워크와 플러그인의 범위 내에서 작업해야합니다. – Sparky

+0

필자는 최선의 방법은'required'를 대신 할 독자적인 커스텀 메소드를 작성하는 것이라고 생각합니다. – Sparky

답변

-1

우선 : jQuery 유효성 검사기를 제거하십시오. 둘째

이와 Acompany 당신의 [필수] 주석 :

[RegularExpression(@"^\S*$", ErrorMessage = "No white space allowed")] 

당신은 갈 수 있어야한다.