如何验证网格中的文本框字段? [英] How to validate the text box fields in the grid?

查看:54
本文介绍了如何验证网格中的文本框字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有datagrid,其中一个列有文本框,如果用户试图输入空格或任何其他字符并单击提交,我们不应该允许,

< u> 用户只能输入数字值或空字符串而不能输入空格

我该如何实现呢?



我尝试了什么:



尝试了自定义验证器,但没有得到预期的放置,你可以建议我使用javascript验证

i've datagrid and one of the columns having textboxes, and if the user tries to enter white spaces or any other characters and click submit, we shouldn't allow,
user can only enter numeric values or empty string not white spaces
how can i achieve it?

What I have tried:

tried custom validator but not getting desired out put, can u suggest me to validate using javascript

推荐答案

尝试

ASP / HTML

try
ASP/HTML
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false">
          <Columns>
              <asp:BoundField HeaderText="ID" DataField="ID" />
              <asp:BoundField HeaderText="Name" DataField="Name" />
              <asp:TemplateField HeaderText="Value">
                  <ItemTemplate>
                      <asp:TextBox CssClass="TextField" ID="txt" runat="server"></asp:TextBox>
                  </ItemTemplate>
              </asp:TemplateField>
          </Columns>
      </asp:GridView>

      <asp:Button ID="btnSubmit" Text="Save" runat="server" OnClientClick="return ValidateGrid();" />





Javascript



Javascript

function ValidateGrid() {
         var grid = document.getElementById('<%= gv.ClientID%>');
         var length = grid.rows.length;
         if (length > 1)
             for (var i = 1; i < length; i++) {
                 var row = grid.rows[i];
                 var textbox = row.getElementsByClassName('TextField')[0];
                 var value = textbox.value;
                 if (value.match(/[^0-9]/g, '')) {
                     alert('Please enter valid data');
                     textbox.focus();
                     return false;
                 }
                 return true;
             }
     }





背后的代码



Code behind

protected void Page_Load(object sender, EventArgs e)
     {

         if (!Page.IsPostBack)
         {
             DataTable dt = new DataTable();
             dt.Columns.Add("ID");
             dt.Columns.Add("Name");
             dt.Columns.Add("Value");
             dt.Rows.Add(1, "karthik", "");
             dt.Rows.Add(2, "prasanth", "");
             dt.Rows.Add(2, "sachin", "");
             dt.Rows.Add(2, "sehwag ", "");
             gv.DataSource = dt;
             gv.DataBind();

         }
     }


这篇文章讨论了各种解决方案

限制Gridview列仅接受客户端的数字 [ ^ ]

也在这里(可能是更好的解决方案)

将文本框中的值仅限制为数字,但该文本框位于网格视图中 [ ^ ]
There are a variety of solutions discussed on this post
Restricting Gridview column for accepting numbers only on client side[^]
and also here (probably the better solution)
Restricting the values inside textbox to only numbers but that text box is within grid view[^]


这篇关于如何验证网格中的文本框字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆