2012-03-07 2 views
1

나는 clientsidevalidation 다음과 같은 텍스트가 포함 필요한 텍스트 필드 구현할 수있는 방법 :필수 필드 asp.net 텍스트 상자에 확인

은 [이름이 필요]를

은 가급적 내가 ASP를 사용하고 싶습니다 [주소가 필요합니다] : 가능한 경우 CustomValidator? 두 필드 모두에 데이터가있는 경우에만 다시 게시가 트리거됩니까?

 <html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
    <script type="text/javascript">  var $j = jQuery.noConflict();</script> 
    <script type="text/javascript"> 


     function otherMessageValidator_ClientValidation(source, args) { 
      args.IsValid = false; 

      var nm = $j("#name"); 

      if (nm.val() != "" && nm.val() != "[Name required]") { 
       args.IsValid = true; 
      } 

      return args.IsValid; 
     }; 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:TextBox ID="name" runat="server" ValidationGroup="valgroup">[Name required]</asp:TextBox> 
     <asp:TextBox ID="address" runat="server" ValidationGroup="valgroup">[Address required]</asp:TextBox> 
    </div> 
    <asp:Button runat="server" ID="but1" Text="go" OnClick="but1_Click" /> 
    <asp:CustomValidator ID="MyCustomValidator" runat="server" ValidationGroup="valgroup" 
     ClientValidationFunction="otherMessageValidator_ClientValidation" ErrorMessage="At least one textbox needs to be filled in." /> 
    </form> 
</body> 
</html> 
+1

를 해결할 희망의 버튼을 표시하는 하나 개의 사업부를 취할 필요가 그리고 당신은 두 RequiredFieldValidators을하기 때문에 사용하지 않으 ... ? 하나의 확인 메시지 만 원하십니까? CustomValidator의 경우 ClientValidationFunction을 사용합니다. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.clientvalidationfunction.aspx –

답변

1

달성 방법 중 하나는 자바 스크립트에서 정규 표현식을 사용하고 클라이언트 측에서만 유효성을 검사하는 것입니다. 따라서 위에서 언급 한 코드에서 필요한 모든 검증이 완료되면 서버로 이동합니다. 그렇지 않으면 Summary div 태그의 화면에 오류 메시지가 표시됩니다.

다음은 필수 코드입니다.

<script type="text/javascript">    
function validateFields() { 

       var message = ""; 
       var error = false; 

       var name = document.getElementById("<%=txtname.ClientID %>"); 
       var address = document.getElementById("<%=txtaddress.ClientID %>"); 

       //work as required field validation 
       if ((/\S+/.test(name.value)) == false) { 

        message += "Enter Name" + "<br>"; 
        error = true; 
       } 
       //work as required field validation 
       if ((/\S+/.test(address.value)) == false) { 

        message += "Enter Address" + "<br>"; 
        error = true; 
       } 


       if (error) { 
         document.getElementById("validationSummary").innerHTML = message; 
         document.getElementById("validationSummary").style.display = "block"; 
         return false; 
        } else { 
         document.getElementById("validationSummary").innerHTML = ""; 
         document.getElementById("validationSummary").style.display = "none"; 
         return true; 
        } 


       } 
</script> 

는 그리고 우리는의 ValidationSummary 및

<div id="validationSummary" style="display: none; float: left"> 
           </div> 
    <asp:LinkButton ID="lnkAddNew" runat="server" OnClientClick="return validateFields()" OnClick="lnkAddNewPatient_Click" >Save</asp:LinkButton> 

그것이 문제

관련 문제