2012-06-27 3 views
1

저는 asp.net MVC를 기반으로하고 twitters 부트 스트랩을 사용하는 앱을 가지고 있습니다. 부트 스트랩 스타일을 작동 시키려면 다음을 추가하십시오.jquery, bootstrap, validation, & wysiwyg

$.validator.setDefaults({ 
    highlight: function (element) { 
     $(element).closest(".control-group").addClass("error"); 
    }, 
    unhighlight: function (element) { 
     $(element).closest(".control-group").removeClass("error"); 
    } 
}); 

지금까지 그렇게 좋았습니다. 오늘 cleditor를 사이트에 추가하고 cleditor가 숨기므로 텍스트 영역에 대한 유효성을 잃었습니다 (모든 wysiwyg 편집기와 마찬가지로). 그래서 그것을 수정 한 다음 코드를 추가했습니다.

$.validator.setDefaults({ ignore: '' }); 

그런 다음 유효성 검사를하기 전에 텍스트 영역에서 일부 기능을 수행하는 기능을 추가했습니다. 이것은 필수 입력란이므로 공백, 비 분리 공백 및 구분 만 포함되어 있는지 테스트하고 있습니다. 그렇다면 유효성을 검사하여 유효성 검사를 올바르게 수행합니다.

$('#myForm').submit(function() { 
    var contents = editor[0].$area[0].value; 
    var patt1 = new RegExp('^((<br>)*(\s)*(&nbsp;)*)*$'); 
    if (contents.match(patt1)) 
     editor[0].$area[0].value = ''; 
    return true; 
}); 

이 기능은 유효성 검사 전에 트리거되며 양식 제출이 중지되고 오류 메시지가 모두 표시됩니다. 문제는 위에 설정된 유효성 검사기 기본값이 트리거되지 않으므로 필드의 스타일이 적절하지 않다는 것입니다.

낯선 사람은 여전히 ​​양식을 두 번째 제출하면 유효성 검사기 기본값이 실행되고 필드의 스타일이 적절하게 변경됩니다.

MVC에서 사용자 지정 유효성 검사 특성을 만들어이 문제를 해결할 수 있지만이 동작 방식을 알고 싶습니다.

부수적으로, 공백과 나누기 등의 조합을 찾기 위해 위에 사용하는 정규식이 작동하지 않습니다. 나는 그것을 정규식 테스터 두 명에게 넣었고 정상적으로 작동한다. 내 응용 프로그램에서 일치하는 항목을 찾을 수 없습니다. 저는 정규 표현식 초보자입니다. 그래서 그것을 작성하는 훨씬 더 좋은 방법이있을 것입니다.

답변

0

룰 바로 위에있는 줄에 ignore : ''를 추가하십시오. 빈 문자열이 나를 위해 일했다.