【问题标题】:ASP.NET - JQuery BootstrapValidatorASP.NET - JQuery BootstrapValidator
【发布时间】:2015-09-03 23:31:58
【问题描述】:

我有一个带有文本框(txtemail1、txtFName、txtPhone)的网络表单。我正在使用 Bootstrap 验证器。我的问题是,当我测试并将名字字段留空时,表单上的每个控件都会突出显示为错误,而不仅仅是 txtFName 控件。如何仅获取缺少要标记的数据的控件。例如,如果未输入名称,则第一个名称会显示错误消息,但所有控件都会突出显示为错误。

这是我的文本框标记:

<td><asp:TextBox ID="txtFName" runat="server"  CssClass="form-control" AutoPostBack="false"></asp:TextBox> </td>

我的 JQuery:

<script type="text/javascript">
    $(document).ready(function () {
        $('#form1').bootstrapValidator({
            container: '#messages',
            feedbackIcons: {
                valid: 'glyphicon glyphicon-ok',
                invalid: 'glyphicon glyphicon-remove',
                validating: 'glyphicon glyphicon-refresh'
            },
            fields: {
                txtFName: {
                    validators: {
                        notEmpty: {
                            message: 'First name is required'
                        }
                    }
                },
                txtEmail1: {
                    validators: {
                        notEmpty: {
                            message: 'The email address is required'
                        },
                        emailAddress: {
                            message: 'The email address is not valid'
                        }
                    }
                },
            }
        });
    });
</script>

【问题讨论】:

  • 如果 10 个输入中有一个或 2 个输入为空,则错误只会显示为空输入,而不是所有 10 个输入,我不明白您要问什么?
  • 例如,如果名字、电子邮件和电话未填写,则只有名字和电子邮件应突出显示为必填字段 - 而不是电话。名字和电子邮件是我在 javascript 中设置的唯一要验证的。
  • 能贴一下asp渲染的html和生成html的asp代码吗?

标签: jquery asp.net twitter-bootstrap


【解决方案1】:

您需要调用回调函数来验证字段。

fields: {
                txtFName: {
                    validators: {
                        notEmpty: {
                            message: 'First name is required'
                        },
                        callback: {
                            message: 'First name is required',
                            callback: function (value, validator, $field) {
// validate the input
 return value != "";
                            }
                        }
                    }
                }

来源:http://formvalidation.io/validators/callback/

【讨论】:

    【解决方案2】:

    您在不想使用bootstrapValidator 验证的输入上收到错误消息的原因是输入具有required 条件,在您的情况下,正如您在评论phone input 中提到的那样

    <input type="text" class="form-control" name="phonenubmer" value="" required >
    

    Fiddle with required condition

    应该是这样的

    <input type="text" class="form-control" name="phonenubmer" value="">
    

    Fiddle with no required condition

    【讨论】:

    • 我正在使用 asp.net 服务器控件。我的电话号码文本框控件没有所需的验证器。
    • 你可以在这里输入你的电话号码吗
    • 感谢您提供的所有信息,顺便说一句
    • 尝试一下,在提交按钮中添加CausesValidation="False",看看是否有什么不同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    相关资源
    最近更新 更多