验证Gridview中的文本框 [英] Validation of Textbox inside Gridview

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

问题描述



我在gridview内部有2个文本框,分别名为OdometerBegin和OdometerEnd.我必须验证OdometerEnd文本框.它应该接受大于OdometerStart文本框的数值.请帮助我

在此先感谢
shuresh

Hi,

I am having 2 Textboxes inside gridview named OdometerBegin and OdometerEnd . I have to validate the OdometerEnd Textbox . It should accept numeric values that should be Greater than OdometerStart Textbox. Plz Help Me

Thanks in Advance
shuresh

推荐答案

<asp:CompareValidator ID="OdometerCompare" runat="server" ForeColor="Red"

     ControlToValidate="txtOdometerEndAdd" ControlToCompare="txtOdometerStartAdd"

     Type="Integer" Operator="GreaterThan" ErrorMessage="Values Should be Greater than OdometerEnd">
    </asp:CompareValidator>


嗨..
这是扩展文本框行为的更好解决方案,因为
1)您不允许用户输入非数字值
2)即使用户用户定期更改两个文本框,您也可以更好地控制.

假设您有类似以下的列:
Hi..
This is a better solution to extend the behaviour of your text boxes, because
1) You are not allowing the user to enter non numeric values
2) You have better control even if user user makes changes both text boxes regularly.

Say you have columns like the below:
<Columns>
  <asp:TemplateField HeaderText="Odometer Begin">
   <ItemTemplate>
    <asp:TextBox runat="server" ID="OdometerBegin" onkeydown="return jsDecimals(event);" onblur="return validateBegin();" ></asp:TextBox>
    </ItemTemplate>
   </asp:TemplateField>
  <asp:TemplateField HeaderText="Odometer End">
   <ItemTemplate>
    <asp:TextBox runat="server" ID="OdometerEnd" onkeydown="return jsDecimals(event);" onblur="return validateEnd();" ></asp:TextBox>
    </ItemTemplate>
     </asp:TemplateField>
 </Columns>



并使用以下Java脚本功能:



And use the below Java script functions:

function validateEnd() {
 var beginTxtBox = event.srcElement.id.replace('OdometerEnd', 'OdometerBegin');
 var beginNum = document.getElementById(beginTxtBox).value;
 var endNum = document.getElementById(event.srcElement.id).value;
 if (endNum != '') {
  if (parseInt(endNum) < parseInt(beginNum)){
   alert('Please enter End Number greater than Begin Number');
     return false;
  }
 }
 else {
  alert('Please Enter a valid numeric value');
 }
}
function validateBegin() {
 var endTxtBox = event.srcElement.id.replace('OdometerBegin', 'OdometerEnd');
 var beginNum = document.getElementById(event.srcElement.id).value;
 var endNum = document.getElementById(endTxtBox).value;
 if (beginNum != '') {
   if (parseInt(endNum) < parseInt(beginNum)) {
     alert('Please enter End Number greater than Begin Number');
        return false;
     }
   }
 else {
  alert('Please Enter a valid numeric value');
  }
 }
function jsDecimals(e) {
 var evt = (e) ? e : window.event;
 var key = (evt.keyCode) ? evt.keyCode : evt.which;
 if (key != null) {
   key = parseInt(key, 10);
   if ((key < 48 || key > 57) && (key < 96 || key > 105)) {
      if (!jsIsUserFriendlyChar(key, "Decimals")) {
         return false;
      }
   }
   else {
    if (evt.shiftKey) {
      return false;
    }
   }
 }
  return true;
}
function jsIsUserFriendlyChar(val, step) {
 if (val == 8 || val == 9 || val == 13 || val == 45 || val == 46) {
  return true;
 }
 if ((val > 16 && val < 21) || (val > 34 && val < 41)) {
   return true;
 }
 if (step == "Decimals") {
  if (val == 190 || val == 110) {  
   return true;
  }
 }
 return false;
}


您要验证的gridview中的这些列将这些列转换为模板字段(EditItem模板),成为必需的字段验证器.
Those column in the gridview you want to validate convert that columns in to template field (EditItem template) drodown required field validator.


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

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