2009-08-10 5 views
0

javascript를 통해 ValidatorCallOut을 사용하는 CustomValidator에 대한 오류 메시지를 업데이트하려고합니다. 기본적으로 입력 된 숫자가 지정된 숫자의 증가인지 확인하기위한 검사입니다. 처음에는 오류 메시지가 업데이트 될 일부 코드가 있지만 그 후에는 더 이상 오류 메시지를 업데이트하지 않습니다. 자바 스크립트 경고를 통해 값이 실제로 업데이트되고 있음을 알 수 있습니다.ValidatorCallOut 오류 메시지가 자바 스크립트에서 업데이트되었습니다.

function checkIncrement(sender, args) { 
    var incrementValue = parseInt(sender.orderIncrement); // Custom attribute registered with RegisterExpandoAttribute 
    var remainder = args.Value % incrementValue; 

    if ((remainder) != 0) { 

     var remainder, lowRange, highRange; 
     lowRange = parseInt(args.Value - remainder); 
     highRange = parseInt(lowRange + incrementValue); 

     sender.errormessage = "Closest possible values are <b>" + lowRange + "</b> or <b>" + highRange + "</b>"; // Gets updated once, but not after that 
     alert("Low Range: " + lowRange); // always updated with current value 

     args.IsValid = false; 
     return; 
    } 

    args.IsValid = true; 
} 

이가 검증 할 때마다 업데이트 오류 메시지를 유지하는 방법에 대한 어떤 생각 : 여기에 내가 사용하고 자바 스크립트 유효성 검사 기능을 클라이언트 측 무엇입니까? 콜 아웃이 처음 생성되지 않기 때문에

sender.errormessage = "Your message here"; 
var cell = sender.ValidatorCalloutBehavior._errorMessageCell; 
// cell is going to be null first time. 
if (cell != null) { 
    cell.innerHTML = "Your message here"; 
} 

가 초기화 된 후 메시지가 스틱 이유는 다음과 같습니다

답변

3

은 다음보십시오. 일단 콜 아웃이 생성되면, 콜 아웃은 숨겨지고 이후의 표시에서 재 작성되지 않습니다. 따라서 메시지가 생성 될 때 초기화되었다는 메시지는 그대로 유지됩니다. 위의 코드는 해킹이며 set_ErrorMessage 라인을 따라 메소드가 있어야하지만 실제로는 없다.

+0

이것은 완벽하게 고맙게 작용했습니다. 이 답변은 해결 된 것으로 표시되어야합니다. – Somedeveloper