2010-05-13 11 views
0

고급 검색 양식의 유효성을 검사해야하지만 데이터 주석을 사용할 수 없도록 두 테이블의 다른 사용자 및 문서로 보낼 데이터가 있습니다. 이름을 문자로만 확인하고 계좌 번호는 &이며 숫자 여야합니다. 어떻게이 필드의 유효성을 검사 할 수 있습니까?ASP.NET MVC 유효성 검사

<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server"> 
    <center> 
     <img src="../../Content/images/DocuVault_Logo.png" alt="DocuVault" /> 
     <%= Html.ValidationSummary() %> 
     <% using (Html.BeginForm("QuickSearch", "Search")) 
     { %> 
      <div id="div_QuickSearch"> 
       <table> 
        <tr> 
         <td colspan="2"> 
         <%= Html.TextBox("search", "", new { style = "width: 300px" })%> 
         <input type="submit" value="Search" /> 
         </td> 
        </tr> 
        <tr> 
         <td colspan="2"> 
         <%= Html.ValidationMessage("search") %> 
         </td> 
        </tr> 
        <tr> 
         <td><a href="#" id="link_advanced">Advanced Search</a></td> 
        </tr> 
       </table> 
       <br /> 
      </div> 
     <% } %> 
     <ul> 
     </ul> 
     </div> 
     <% using (Html.BeginForm("AdvancedSearch", "Search")) 
     { %> 
      <div id="div_AdvancedSearch" style="display: none; width: 420px; padding: 10px;"> 
       People 
       <table style="border: solid 1px black; padding: 5px; width: 400px;"> 
        <tr> 
         <td>Name:</td> 
         <td align="right"> 
         <%= Html.TextBox("searchName") %> 
         <%= Html.ValidationMessage("searchName")%> 
         </td> 
        </tr> 
        <tr> 
         <td>Address:</td> 
         <td align="right"> 
         <%= Html.TextBox("searchAddress") %> 
         <%= Html.ValidationMessage("searchAddress")%> 
         </td> 
        </tr> 
        <tr> 
         <td>Account Number:</td> 
         <td align="right"> 
         <%= Html.TextBox("searchAccountNumber") %> 
         <%= Html.ValidationMessage("searchAccountNumber")%> 
         </td> 
        </tr> 
       </table> 
       <br /> 
       Documents 
       <table style="border: solid 1px black; padding: 5px; width: 400px;"> 
        <tr> 
         <td>Invoice:</td> 
         <td align="right"> 
         <%= Html.TextBox("searchInvoice") %> 
         <%= Html.ValidationMessage("searchInvoice")%> 
         </td> 
        </tr> 
        <tr> 
         <td>Amount:</td> 
         <td align="right"> 
         <%= Html.TextBox("searchAmount") %> 
         <%= Html.ValidationMessage("searchAmount")%> 
         </td> 
        </tr> 
        <tr> 
         <td>Job:</td> 
         <td align="right"> 
         <%= Html.TextBox("searchJob") %> 
         <%= Html.ValidationMessage("searchJob")%> 
         </td> 
        </tr> 
        <tr> 
         <td>SDI:</td> 
         <td align="right"> 
         <%= Html.TextBox("searchSDI") %> 
         <%= Html.ValidationMessage("searchSDI")%> 
         </td> 
        </tr> 
        <tr> 
         <td>Date:</td> 
         <td align="right"> 
         <%= Html.TextBox("searchDateBegin", "", new { style = "width: 88px" })%> 
         to 
         <%= Html.TextBox("searchDateEnd", "", new { style = "width: 88px" })%> 
         <%= Html.ValidationMessage("searchDate")%> 
         </td> 
        </tr> 
       </table> 
       <br /> 
       <div style="width: 100%;"> 
        <span style="float: left; margin-left: 10px;"><a href="#" id="link_quick">QuickSearch</a></span> 
        <span style="float: right; margin-right: 10px;"><input type="submit" value="Advanced Search" /></span> 
       </div> 
      </div> 
     <% } %> 
    </center> 
    </asp:Content> 

답변

0

jquery 플러그인을 사용하고 유효성 검사를 수행 한 것을 사용합니다. 나는 물건을 간단하게하고 싶었다.

0

시도 FluentValidation. 규칙을 기반으로 클래스의 유효성을 검사 할 수있는 매우 간단하고 강력한 유효성 검사 프레임 워크입니다. 또한 ClientSide JQuery Validator를 생성하는 데 사용할 수 있습니다.

+0

내 주요 문제는 내 텍스트 상자를 내 클래스와 관련시키지 않고 하나의 양식에서 두 개의 다른 테이블의 데이터를 보유하고 있습니까? – Pinu

+0

Fluent Validation은 C# 개체와 호환되므로 적절한 Clientside 유효성 검사를 생성 할 수는 있지만 모델에서 사용하는 것이 가장 좋습니다. 다른 옵션은 표준 ASP.NET 유효성 검사 컨트롤을 사용하고 각 폼에 대해 다른 ValidationGroup을 사용하는 것일 수 있습니다. 그냥 아이디어 –

+0

Pinu,하지만 당신의 텍스트 상자는 적어도 컨트롤러에 게시되는 모델과 관련이 있어야합니다, 맞습니까? 따라서 FluentValidation 또는 MVC2 out-of-the-box 검증을 사용하여 Model 클래스에서 유효성 검사를 수행 할 수 있습니다. –

관련 문제