2013-05-15 81 views
0

我需要使用2个验证对同一文本框(其为输入接受一个学年名)工作:校验不是在asp.net

  1. 正则表达式验证,以允许输入的名称仅在格式YYYY-YY。我有这个工作:

    <asp:RegularExpressionValidator id="txtAcademicYearName_RegularExpressionValidator2" runat="server" ControlToValidate="txtAcademicYearName" ErrorMessage="Enter academic year name in format YYYY-YY" ValidationExpression="(\b19|\b20)\d\d-\d\d" ForeColor="Red" Display="None" ValidationGroup="AcademicYear"></asp:RegularExpressionValidator> 
    
  2. 当用户进入今年名称,价值显然应该比从值(如2012 - 13年是正确的,但2013-12是错误的)。我添加了一个客户端验证功能如下:

    function checkAcademicYear(source, args) { 
        alert("yeah"); 
        var sAcadYearName = document.getElementById('<%= txtAcademicYearName.ClientID%>').value; 
        var year = new Array; 
        year = sAcadYearName.split("-"); 
        var yearStart = year[0]; 
        var yearEnd = year[1]; 
    
        var checkYearStart = (sAcadYearName.charAt(2) + sAcadYearName.charAt(3)); 
    
        if (yearEnd <= checkYearStart) { 
         arguments.IsValid = false; 
    
        } 
        else { 
         arguments.IsValid = true; 
    
        } 
    

    }

AcademicYear是点击一个按钮会打开一个弹出。现在,当我在文本框中输入某个字符串的名称时,它会打开弹出窗口(它不应该这样做),但我可以在弹出窗口中看到正则表达式验证器的错误消息。

我该如何获得这两个条件的工作?

回答

0

您是否打电话给ValidationGroup =“AcademicYear”in your button

而且替换参数成参数

if (yearEnd <= checkYearStart) { 
     args.IsValid = false; 

    } 
    else { 
     args.IsValid = true; 

    } 
+0

它不工作.. :( – MusicLovingIndianGirl