如何将验证器与一组不同的值进行比较

本文关键字:一组 比较 验证 | 更新日期: 2023-09-27 18:05:37

Q:

我有一个网格视图,其中包含一个文本框作为模板字段:

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列中的会议数据。我在服务器端这样做。但我想做客户。我试着使用比较验证器,但它不适合我的情况,因为每次我都会根据权重列与不同的值进行比较。

如何将验证器与一组不同的值进行比较

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

请参阅MSDN文档