加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 从另一个事件手动运行客户端验证代码

发布时间:2020-12-16 07:10:31 所属栏目:asp.Net 来源:网络整理
导读:我想运行任何客户端验证例程连接到特定的文本输入元素. 已使用CustomValidator设置验证: asp:textbox id="AddEstTime" runat="server" Width="55px"/asp:textboxbr /asp:CustomValidator ID="AddEstTimeCustomValidator" ClientValidationFunction="AddEstT
我想运行任何客户端验证例程连接到特定的文本输入元素.

已使用CustomValidator设置验证:

<asp:textbox id="AddEstTime" runat="server" Width="55px"></asp:textbox><br />
<asp:CustomValidator ID="AddEstTimeCustomValidator" ClientValidationFunction="AddEstTimeCustomValidator_ClientValidate" OnServerValidate="AddEstTimeCustomValidator_ServerValidate" ErrorMessage="Please enter a time" ControlToValidate="AddEstTime"  runat="server" Display="Dynamic" ValidateEmptyText="true"/>
<asp:CheckBox ID="AddIsTM" runat="server" Text="T&amp;M" />

和javascript:

function AddEstTimeCustomValidator_ClientValidate(sender,args) {
    var checkbox = $("input[id$='IsTM']");
    args.IsValid = checkbox.is(":checked") || args.Value.match(/^d+$/);
}

当CheckBox“AddIsTM”状态发生变化时,我想使用其连接的CustomValidator“AddEstTimeCustomValidator”重新验证文本框“AddEstTime”.

我知道焦点 – >添加字符重新聚焦 – >删除字符.我想找到一个更正确的方法. asp.net新手.

解决方法

在查看了Microsoft客户端代码之后,我想出了这个似乎有效:

// client-side validation of one user-control.
// pass in jquery object with the validation control
function ValidateOneElement(passedValidator) {
    if (typeof (Page_Validators) == "undefined") {
        return;
    }
    $.each(Page_Validators,function (index,value) {
        if ($(value).attr("id") == passedValidator.attr("id")) {
            ValidatorValidate(value,null,null);
        }
    });
}

这是在检查了Page_ClientValidate函数之后:

function Page_ClientValidate(validationGroup) {
    Page_InvalidControlToBeFocused = null;
    if (typeof(Page_Validators) == "undefined") {
        return true;
    }
    var i;
    for (i = 0; i < Page_Validators.length; i++) {
        ValidatorValidate(Page_Validators[i],validationGroup,null);
    }
    ValidatorUpdateIsValid();
    ValidationSummaryOnSubmit(validationGroup);
    Page_BlockSubmit = !Page_IsValid;
    return Page_IsValid;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读