解决AjaxControlToolkit中ComboBox不能验证的问题

原创 2009年09月29日 14:33:00

原因从官网上得知,ComboBox是TextBox与其它控件的一个组合控件,因此如果直接绑定验证的话,验证控件将不会直接指向TextBox,因此只能使用CustomValidator 控件,但是在CustomValidator 控件的JS中,需要通过使用$find函数找到ComboBox当前的对象,然后再使用对像的_textBoxControl属性找到TextBox,代码如下所示

C# Code:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var data = new[] { new { Id = 0, Name = "Jim.Yu" }, new { Id = 1, Name = "Simon.Fan" }, new { Id = 2, Name = "Allen.Zhao" } };
                this.ComboBox1.DataTextField = "Name";
                this.ComboBox1.DataValueField = "Id";
                ComboBox1.DataSource = data;
                ComboBox1.DataBind();
            }
        }

 

ASPX:

<asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <cc1:ComboBox ID="ComboBox1" runat="server">
        </cc1:ComboBox>
        <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="ComboBox1"
            ValidateEmptyText="true" ClientValidationFunction="CustomValidator" Display="Dynamic"
            ErrorMessage="Custom Validator"></asp:CustomValidator>
        <br />
        <br />
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
            ControlToValidate="TextBox1" Display="Dynamic"
            ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="Button1" runat="server" Text="Button" />
                <script language="javascript">
                    function CustomValidator(s, e) {
                        if ($find(s.controltovalidate)._textBoxControl.value == "") {
                            e.IsValid = false;
                        }
                    }
        </script>

JQueryValidationEngine常见问题

1、明明正则表达式写的很正确,却依然表单字段验证不通过。 原因:我们给正则表达式加上了双引号或单引号。 "phone":{ "regex" : /^[0-9]{11}$/, // 正则...
  • tangxinzhuan
  • tangxinzhuan
  • 2016年12月12日 20:26
  • 1353

如何拦截JqueryValidationEngine的前台验证结果?

 $("#btnAdd").click(function () {                     $('#frmAddressMgr').submit();            ...
  • UnOpenMyCode
  • UnOpenMyCode
  • 2014年06月11日 15:52
  • 639

easyui中combobox 验证输入的值必须为选项框中的数据

当作为提示框的方式时,combobox必须设置为允许用户输入的模式,但是当用户输入后未选择正确的数据就直接按tab或点击鼠标离开控件会导致用户输入无效的值并且通过验证,为了避免这种情况的发生我们需要对...
  • leiyong0326
  • leiyong0326
  • 2015年10月26日 17:19
  • 4613

ComboBox验证例子

简单的验证实例,测试博客使用。
  • sotower
  • sotower
  • 2013年11月13日 18:23
  • 1210

jquery.validationEngine 自定义验证的使用方法

一: 自定义验证规则 (1)  方法1 ,定义验证规则 $.validationEngineLanguage.allRules.name = { "regex": ...
  • zsg88
  • zsg88
  • 2017年04月24日 15:58
  • 1862

validationEngine校验发送了两次请求

问题:页面当中仅有一个输入框进行validationEngine校验,使用以下代码绑定事件: jQuery("#saveForm").validationEngine({ 'validati...
  • u012088516
  • u012088516
  • 2016年09月22日 16:01
  • 386

easyui combobox 输入下拉框不存在的值校验

直接上代码: $(document).ready(function (){ $("#companyid").combobox({ onHidePanel: function() { ...
  • github_39557053
  • github_39557053
  • 2017年08月18日 11:01
  • 843

VS2010中安装AjaxControlToolkit

原文地址:http://www.asp.net/ajaxlibrary/act.ashx 第一步 下载Ajax Control Toolkit 进入网址http://ajaxcontroltool...
  • seapen
  • seapen
  • 2013年01月24日 15:33
  • 12339

Jquery validationEngine使用的两种方式 客户端方重复提交

1.验证 $("#formID").validationEngine(); 2.判断是否验证通过 jQuery('#formID').validationEngine('validate'),返回...
  • xingxinglaile
  • xingxinglaile
  • 2015年11月05日 11:15
  • 905

jQuery.validationEngine.js学习

项目中使用到了这个插件,抽了个空,看了一下。 (function($){ var method ={} $.fn.validationEngine = function(){} $.valida...
  • zhpengfei0915
  • zhpengfei0915
  • 2014年11月02日 18:34
  • 882
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决AjaxControlToolkit中ComboBox不能验证的问题
举报原因:
原因补充:

(最多只允许输入30个字)