簡體   English   中英

bootstrapValidator驗證多個輸入是否不起作用

[英]bootstrapValidator Validating multiple inputs as one not working

在我的登錄視圖上。 我正在使用引導驗證器https://github.com/nghuuphuoc/bootstrapvalidator/tree/v0.5.2 對於事情的PHP方面,我使用codeigniter MVC框架3.0.3

我必須輸入一個名為用戶名和密碼的字段,以及一個隱藏的名為user_info的輸入字段。

使用引導程序驗證器,我要做的是將多個輸入字段驗證為一個。

但是,請繼續在下面獲取此Fire Bug錯誤

圖片

在此處輸入圖片說明

這是我的登錄表格

<?php echo $header;?>
<?php echo form_open_multipart('admin/common/login', array('id' => 'login-form','role' => 'form'));?>
    <div class="row" id="login-panel">
        <div class="col-lg-offset-3 col-lg-6 col-md-offset-3 col-md-6 col-sm-12 col-xs-12">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h1 class="panel-title"><?php echo $heading_title;?></h1>
                </div>
                <div class="panel-body">
                    <div class="form-group">
                        <div class="input-group">
                            <span class="input-group-addon" id="basic-addon1"><i class="fa fa-user"></i></span>
                            <input type="text" name="username"  class="form-control" value="" placeholder="Username">
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="input-group">
                            <span class="input-group-addon" id="basic-addon2"><i class="fa fa-lock"></i></span>
                            <input type="password" name="password" class="form-control" value="" placeholder="Password">
                        </div>
                    </div>
                    <input type="hidden" name="user_info" />
                </div><!-- . panel-body -->
                <div class="panel-footer">
                    <div class="text-right">
                        <button type="submit" class="btn btn-primary">Login</button>
                    </div>
                </div><!-- . panel-footer -->
            </div><!-- . panel panel-default -->
        </div>
    </div><!-- # login-panel -->
<?php echo form_close();?>

<script type="text/javascript">
$(document).ready(function() {
    $('#login-form')
        .bootstrapValidator({
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            user_info: {
                excluded: false,
                validators: {
                    notEmpty: {
                        message: 'Please fill out each field'
                    }
                }
            }
        }
    })
    .on('keyup', 'input[name="username"], input[name="password"]', function(e) {
        var y = $('#login-form').find('[name="username"]').val(),
            m = $('#login-form').find('[name="password"]').val(),

        // Set the user_info field value
        $('#login-form').find('[name="user_info"]').val(y === '' || m === '' ? '' : [y, m].join('.'));

        // Revalidate it
        $('#login-form').bootstrapValidator('revalidateField', 'user_info');
    });
}); 
</script>
<?php echo $footer;?>

問題:如何使引導驗證程序正確地將多個輸入字段驗證為一個?

保持; 代替,這里:

m = $('#login-form').find('[name="password"]').val(),

腳本:

$(document).ready(function() {
    $('#login-form')
        .bootstrapValidator({
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            user_info: {
                excluded: false,
                validators: {
                    notEmpty: {
                        message: 'Please fill out each field'
                    }
                }
            }
        }
    })
    .on('keyup', 'input[name="username"], input[name="password"]', function(e) {
        var y = $('#login-form').find('[name="username"]').val(),
            m = $('#login-form').find('[name="password"]').val();  //<= keep ; here 

        // Set the user_info field value
        $('#login-form').find('[name="user_info"]').val(y === '' || m === '' ? '' : [y, m].join('.'));

        // Revalidate it
        $('#login-form').bootstrapValidator('revalidateField', 'user_info');
    });
}); 

這是我在他們的網站上看到的。 它使用添加隱藏字段並將數據合並到隱藏字段中的概念。 然后,我們可以像常規字段一樣驗證新的隱藏字段。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM