2009-12-21 13 views
2

누구나 JQGrid와 함께 jQuery Validation plugin을 성공적으로 사용 했습니까? JQGrid에는 자체 유효성 검사 체계가 있지만 실제로는 제한적이며 약간 서투른 것으로 알고 있습니다. 유효성 검사 UI, 언어 및 나머지 양식과 함께 사용하는 규칙을 재사용하는 것을 선호합니다.JQGrid가있는 jQuery 유효성 검사 플러그인?

+0

jQuery 유효성 검사는 임의의 DOM 요소 (비 입력/텍스트 영역/선택)의 유효성을 검사 할 수 있습니까? 예 + 가능하다면 어떻게 표시할까요? – jitter

+0

JQGrid와 함께 jQuery 유효성 검사를 사용할 수 있지만 몇 가지주의 사항이 있습니다. 하나의 문제점은 jQuery 유효성 검사가 편집중인 필드 옆에 오류 메시지를 추가하고 JQGrid가 배치되어 있기 때문에 오류 메시지를 볼 수 없기 때문입니다. 다른 문제는 유효성 검사가 작동하더라도 편집을 마치면 JQGrid가 셀을 원래 상태로 복원한다는 것입니다. 따라서 사용자가 실수를하면 처음부터 다시 시작해야합니다. –

답변

4

이 단계에서는 인라인 및 유효성 검사를 편집 할 수 있습니다.

GridErrorHighlight = function(el, er, ev) { 
    $(el) 
     .addClass('ui-state-error') 
    .parent() 
     .addClass('ui-state-error'); 
} 

GridErrorUnHighlight = function(el, er, ev) { 
    $(el) 
     .removeClass('ui-state-error') 
    .parent() 
     .removeClass('ui-state-error'); 
} 

가있는 jqGrid를 확장 :

강조하는 함수를 작성하고 입력 상자를 unhilight jQuery를 검증 플러그인 사용자 정의 기능을 사용하기위한

; (function($) { 
    $.jgrid.extend({ 
     onErrorHighlight: GridErrorHighlight, 
     onUnHighlight: GridErrorUnHighlight, 
    }); 
})(jQuery); 

지금 쉽다.

var table = $('#tableid').jqGrid({}); 

var validateOpt = { 
     meta: "validate", 
     highlight: table.onErrorHighlight, 
     unhighlight: table.onUnHighlight 
    }; 

$(document).ready(function() { 
    $('#formId').validate(val); 
}); 

이제 단일 입력 셀에 대한 검증을 설정하기 쉽다 :이 옵션을 생성 및 검증 플러그인을 초기화 할 경우에만 필요합니다. 우리는 확인을 위해 사용자 정의 클래스를 추가 할 모델로있는 jqGrid EditOptions를 사용

"editoptions":{"class":" {validate: { range:[0,1] } }"} 

전부 그!

관련 문제