如何使用比较验证器和一组不同的值?

时间:2011-08-16 10:43:54

标签: c# javascript asp.net validation gridview

问:

我有一个gridview包含一个文本框作为模板字段:

aspx:

 <asp:GridView Width="100%" ID="gv_Evaluation" CssClass="datatable" AllowSorting="True"
 runat="server" AutoGenerateColumns="False" AllowPaging="True" GridLines="None"
 OnRowDataBound="gv_Evaluation_RowDataBound">
  <Columns>
   <asp:TemplateField HeaderText="serial">
       <ItemTemplate>
         <asp:Label ID="lblSerial" runat="server"></asp:Label>
       </ItemTemplate>
   </asp:TemplateField>
   <asp:BoundField HeaderText="activity type" DataField="activityType" />
   <asp:BoundField HeaderText="weight" DataField="activityWeight" />
   <asp:TemplateField HeaderText="evaluation">
      <ItemTemplate>
       <telerik:RadTextBox ID="txt_evaluateWeights" runat="server" AutoPostBack="True"
        OnTextChanged="txt_evaluateWeights_TextChanged"></telerik:RadTextBox>
       <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txt_evaluateWeights" Display="Dynamic" ErrorMessage="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
     </ItemTemplate>
   </asp:TemplateField>
  </Columns>
 <RowStyle VerticalAlign="Top" CssClass="row" />
 </asp:GridView>

权重列包含以下数字[50,10,10,10,5,5,10]

我想做的是:

当用户在txt_evaluateWeights中输入数据时,验证数据条目,该数据必须小于或等于weight列中的会议数据。我在服务器端这样做。但我想做那个客户端。我尝试使用比较验证器,但它不适合我的情况,因为每次我根据权重列与不同的值进行比较。

1 个答案:

答案 0 :(得分:2)

您可以使用CustomValidator类并设置ClientValidationFunction属性以使用客户端验证

请参阅MSDN documentation