2013-10-23 3 views
0

내 페이지에서 "저장"작업에 대한 사용자 지정 유효성 검사가 필요합니다. 요구 사항은 경고를 표시해야하며 경고에서 확인 버튼을 클릭하면 내 페이지가 다시 게시되지 않아야한다는 것입니다. 여기 내 코드가 있습니다.ASP.NET에서 사용자 지정 유효성 검사가 작동하지 않습니다.

function RedirectForSaveValidation(source,arguments) { 

    var StatusFlag = ''; 
    StatusFlag = document.getElementById('<%= HiddenStatusFlag.ClientID%>'); 

    if (StatusFlag == "F") { 
     alert("Selected student entry has been qualified for lead. Entry cannot be modified...!"); 
     arguments.IsValid = false; 
    } 
    if (StatusFlag == "Q") { 
     alert("Selected student has been scheduled for interview/counselling. Entry cannot be modified...!"); 
     arguments.IsValid = false; 
    } 
    if (StatusFlag == "S") { 
     alert("Selected student entry has been scheduled with interview/counselling. Entry cannot be modified...!"); 
     arguments.IsValid = false; 
    } 
    if (StatusFlag == "I") { 
     alert("Selected student entry has been converted to Intake. Entry cannot be modified...!"); 
     arguments.IsValid = false; 
    } 
    window.location.assign("EnquiryRegister.aspx"); 
} 

내 버튼 클릭으로이 기능을 호출합니다.

<asp:Button ID="btnSaveEnquiryRegister" runat="server" Text="Save Enquiry Register" CssClass="button" OnClick="btnSaveEnquiryRegister_Click" ValidationGroup="valEnquiry" OnClientClick="RedirectForSaveValidation();"/> 

문제는 지정된대로 경고가 표시되지 않으며 페이지가 다시 게시된다는 것입니다. 내가 뭘 놓치고 있니?

답변

0

바보 나 거짓 ! 문제는 숨겨진 필드의 가치를 얻는 데있었습니다.

var StatusFlag = ''; 
StatusFlag = document.getElementById('<%= HiddenStatusFlag.ClientID%>').value; 

변수가 값 속성을 포함하지 않아서 변수에 값이있어 유효성 검사기가 실패했습니다.

0

귀하는 버튼 클릭시 직접 맞춤 검증 기능을 사용하고 있습니다. 매개 변수를 전달하지 않는 Function 및 OnClientClick에서 두 개의 매개 변수를 전달하는 것으로 보입니다. 이 메서드는 asp.net의 CustomValidator 컨트롤을 통해 호출해야합니다.

또는 메소드에서 매개 변수 만 제거하십시오. 매개 변수

+0

하지만 어떻게 내가 다시 게시하지 않고 내 페이지를 유지합니까? – MusicLovingIndianGirl

+0

arguments.IsValid = false를 사용하지 마십시오. 대신 return false를 사용하십시오. 및 전화 사용시 OnClientClick = "return RedirectForSaveValidation();" –

0

없이 사용 방법을 잘이 http://www.w3schools.com/aspnet/control_customvalidator.asphttp://www.w3schools.com/aspnet/showaspx.asp?filename=demo_customvalidator에서 사용자 정의 유효성 검사기의 모양을 구현하는 올바른 방법은 아니지만 아직도 당신이 당신이이 같은 검증을 수행하려는 경우 를 (제대로 수행하는 방법을 보여줍니다) (이 유효한 경우)는

때문에 유효성 검사 기능이 true를 돌려 유효하지 않은 경우에는 false를 반환 또는 다음

<asp:Button ID="btnSaveEnquiryRegister" runat="server" Text="Save Enquiry Register" CssClass="button" OnClick="btnSaveEnquiryRegister_Click" ValidationGroup="valEnquiry" OnClientClick="return RedirectForSaveValidation();"/> 
2

이 문제를 해결하는 올바른 방법은 CustomValidator 컨트롤과 해당 ClientValidationFunction 속성을 사용하는 것입니다. 이를 통해 클라이언트 측 유효성 검사와 ASP.NET 유효성 검사 기능을 통합 할 수 있습니다.

MSDN 설명서의 예제를 살펴보십시오.

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.clientvalidationfunction.aspx

는 희망이 도움이!

감사합니다,

우로스

관련 문제