2017-01-14 1 views
0

editrules custom_func 및 required = false를 설정하면 custom_func는 사용자가 값을 입력하는 경우에만 작동합니다. 사용자가 입력을 비워두면 custom_func가 jqgrid에 의해 건너 뜁니다. 필자의 경우 동일한 행의 다른 사용자 값에 따라 필드 값이 비어 있거나 비어있을 수 있는지 여부를 확인하려고합니다. 따라서 제출 후 유효성을 검사해야하므로 colmodel에서 required = false를 설정할 수 없습니다.jqgrid editoptions custom_func with required = false

colmodel: [ 
    {name:'xxx', editrules: { 
    required:false, 
    custom:true, 
    custom_func: function(value) { 
     if(othercolumn=='blah' && value=='') { 
      //this is error 
     } else { 
      //this is correct 
     } 
    } 
    }} 
] 

편집 : 내가있는 jqGrid 4.6.0를 사용하고 (나는 아직도 별도의 지점에서 무료 4.13.6를 테스트입니다)

그 내용에 관심을 지불하지 않는, 의사 custom_func입니다

답변

1

우선 나는 여러분이 여러분의 코드의 잘못된 속성을 게시했다고 생각합니다. 내 생각에 required, customcustom_funceditrules 안에 넣고 editoptions (the documentation 참조) 안에 넣지 마십시오.

초 당신은 항상은 사용 (사용)있는 jqGrid의 버전에 대한 정보를 포함해야하고있는 jqGrid의 포크 (free jqGrid 버전 < = 4.7 Guriddo jqGrid JS 상업적 또는 오래된있는 jqGrid)에 대한. 다른 버전의 가능성과 jqGrid의 다른 포크는 각각 입니다.

열에 required 속성을 지정하지해야 또는 required: undefiled을 사용하여 문제를 해결합니다. 의 경우에만의 사용이 required: true 인 경우 유효성 검사는 빈 값으로 중지됩니다. 을 명시 적으로 지정하는 경우 required: false 인 경우 custom_func은 빈 값으로 호출되지 않습니다. 다른 값으로 truefalserequired 인 경우 사용자 정의 유효성 검사를 할 수 있습니다.

다음 문제는 사용자 지정 유효성 검사를 위해 다른 열의 값에 액세스해야한다는 것입니다. 그것은 별도의 질문의 일부 여야합니다. 사용하는 jqGrid의 포크, jqGrid의 버전 및 편집 모드 (인라인 편집, 양식 편집 또는 셀 편집)를 아는 것이 중요합니다.

+0

예는 editrules (편집 됨)이고 jqGrid는 4.6.0 맞습니다. 선언하지 않으면 기본 필수 = false를 강제하는 jqgrid wraper가 있습니다. 그래서 나는 그 default 애트리뷰트를 삭제하여 custom_func를 어떤 값으로도 사용할 수있다. 고맙습니다! – Aberel

+0

@ 애버릴 : 환영합니다! – Oleg

+0

마지막 문제 : "다른 입력 열 값 가져 오기", 새로운 질문을 올립니다. – Aberel