按钮提交时将触发必填字段验证器

用户3839693

我有一个下拉列表,当我选择OPTION值时,将出现一个文本框。问题是,当我直接提交所需的错误时,会同时显示有关下拉列表和文本框的消息。它应该只给出错误的下拉菜单。从下拉菜单中选择“选项”后,它将直接为我显示文本框错误消息。当我没有在文本框中输入任何值并直接提交表单后,它应该给我。我尝试使用该代码,但未按要求工作。请参见下面的代码:

下拉菜单和文本框的HTML

<asp:DropDownList ID="ddlGraduation" runat="server" CssClass="txtfld-popup_drp1"></asp:DropDownList>

<asp:RequiredFieldValidator CssClass="error_msg" ID="reqGraduation" runat="server" ControlToValidate="ddlGraduation" ErrorMessage="Please select graduation details" InitialValue="--Select--" SetFocusOnError="true"></asp:RequiredFieldValidator>


<asp:TextBox ID="txtOther" runat="server" CssClass="txtfld-popup_p1" Style="display: none;"></asp:TextBox>

<asp:RequiredFieldValidator ID="reqOther" runat="server" ControlToValidate="txtOther" ErrorMessage="Please specify your qualification" Enabled="false"></asp:RequiredFieldValidator>

另外,请参阅用于处理文本框可见性和触发必填字段的javascript代码:-

<script type="text/javascript">
    $(document).ready(function () {
    $("select[id*=ctl00_ContentPlaceHolder1_ddlGraduation]").change(function () {
    if ($('#ctl00_ContentPlaceHolder1_ddlGraduation').val() == 'Other') {
        $("[id*=ctl00_ContentPlaceHolder1_txtOther]").show();
        var valEmail = $("[id*=reqOther]");
        ValidatorEnable(valEmail[0],true);
    }
    else {
        var valEmail = $("[id*=reqOther]");
        ValidatorEnable(valEmail[0],
        false);
        $("[id*=ctl00_ContentPlaceHolder1_txtOther]").hide();
    }
});

});

请帮忙

迈乌尔·瓦格拉

验证一旦触发,您就无法在不输入有效数据的情况下提交表单。还有一件事,无论您是否要显示文本框,RequiredFieldValidator都会在每次触发。不是那样的话,如果您将隐藏自己的文本框并且不会触发验证,则情况并非如此。解决您的问题的方法是:仅将RequiredFieldValidator保留用于下拉列表,然后将其删除用于文本框,然后添加一个自定义验证器,您可以根据条件在其中检查字段是否为空,并且在单击“提交”后将触发自定义验证器“ 按钮。

<asp:CustomValidator ID="reqOther" runat="server" EnableClientScript="true"
    ErrorMessage="Please specify your qualification"
    ClientValidationFunction="TextBoxQualification"
    OnServerValidate="TextBoxQualification_Validate" Display="Dynamic" >
</asp:CustomValidator>

客户端验证功能将如下所示:

function TextBoxQualification(sender, args) {
    if(your condition) //that if you want to validate the textbox or not based on the selection of dropdown.
    {
        args.IsValid = false;    
    }
}

如果需要,您也可以在服务器端编写相同的功能。在客户端和服务器双方都进行验证是很好的,但是如果您不想在服务器端进行验证,那也很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

提交时忽略必填字段验证

来自分类Dev

如何防止提交但仍验证必填字段?

来自分类Dev

禁用必填字段验证器

来自分类Dev

单击按钮时填写必填字段

来自分类Dev

必填字段验证

来自分类Dev

AngularJs和HTML5必填字段将字段设置为空触发验证

来自分类Dev

在 JQuery 提交表单之前验证必填字段

来自分类Dev

必填字段的前端验证,取决于单选按钮的值

来自分类Dev

必填字段图像按钮输入的验证单击

来自分类Dev

未填写必填字段时仍在提交表单

来自分类Dev

如何在MVC中使用模型验证将表单加载时的必填字段设为红色

来自分类Dev

C#背后的代码中的必填字段验证器

来自分类Dev

sapui5中的必填字段验证器

来自分类Dev

必填字段时,不显示AngularJS验证消息

来自分类Dev

在WordPress中提交时,联系表单7验证中的两个必填字段之一

来自分类Dev

使用JQuery提交表单-必填字段

来自分类Dev

StrongLoop验证错误和必填字段

来自分类Dev

必填字段的验证功能更短

来自分类Dev

NodeJS,猫鼬:必填字段验证

来自分类Dev

必填字段上的Javascript / Jquery验证

来自分类Dev

清除必填字段验证组

来自分类Dev

条带检出不验证必填字段

来自分类Dev

必填字段的验证功能更短

来自分类Dev

ADF 验证和必填字段

来自分类Dev

MVC验证-在提交表单之前强制填写非必填字段

来自分类Dev

MVC验证-在提交表单之前,必须填写非必填字段

来自分类Dev

保持提交按钮处于禁用状态,直到填写了动态创建的必填字段

来自分类Dev

jQuery 在提交前将所有可见字段标记为必填字段

来自分类Dev

必填字段验证器即使字段无效也允许onclick功能

Related 相关文章

热门标签

归档