Использовать пользовательское ограничение в bootstrapValidator - PullRequest
0 голосов
/ 09 июня 2019

Я хочу добавить пользовательское ограничение для проверки пароля.Я хочу, чтобы в нем были как минимум строчные буквы, прописные буквы и цифры.

<form id="userForm">
    <input type="hidden" class="form-control" id="ID" />
    <div class="row">
        <div class="col-sm-12 col-md-6 col-lg-6">
            <div class="form-group">
                <label for="FName">First Name</label>
                <input type="text" class="form-control" id="FName" name="FName" />

            </div>
        </div>
        <div class="col-sm-12 col-md-6 col-lg-6">
            <div class="form-group">
                <label for="LName">Last Name</label>
                <input type="text" class="form-control" id="LName" name="LName" />
            </div>
        </div>
    </div>

    <div class="row">
        <div class="col-sm-12 col-md-6 col-lg-6">
            <div class="form-group">
                <label for="UserName">User Name </label>
                <input type="text" class="form-control" id="UserName" name="UserName" />
            </div>
        </div>
        <div class="col-sm-12 col-md-6 col-lg-6">
            <div class="form-group">
                <label for="Password">Password </label>
                <input type="password" class="form-control" id="Password" name="Password" />
            </div>
        </div>
    </div>
</form>


<script type="text/javascript">
$('#userForm').bootstrapValidator({
            message: 'This value is not valid',
            feedbackIcons: {
                valid: 'glyphicon glyphicon-ok',
                invalid: 'glyphicon glyphicon-remove',
                validating: 'glyphicon glyphicon-refresh'
            },
            submitHandler: function (validator, form, submitButton) {
            },
            fields: {
                FName: {
                    validators: {
                        notEmpty: {
                            message: 'Required!'
                        }
                    }
                },
                LName: {
                    validators: {
                        notEmpty: {
                            message: 'Required!'
                        }
                    }
                },
                UserName: {
                    validators: {
                        notEmpty: {
                            message: 'Required!'
                        }
                    },
                    stringLength: {
                        min: 3,
                        max: 25,
                        message: 'Length should be between 3 to 25.'
                    },
                },
                Password: {
                    validators: {
                        notEmpty: {
                            message: 'Required!'
                        },
                        stringLength: {
                            min: 8,
                            max: 15,
                            message: 'Length should be between 8 to 15.'
                        }

                    }
                },
            }
        });
       </script>

Ответы [ 2 ]

0 голосов
/ 10 июня 2019

Вы можете использовать приведенный ниже код для проверки пароля для верхнего и нижнего регистра, а также цифры.

Где Значение = имя поля, вы можете добавить этот код в поле пароля.

// The password doesn't contain any uppercase character
        if (value === value.toLowerCase()) {
            return {
                valid: false,
                message: 'The password must contain at least one upper case character'
            }
        }

        // The password doesn't contain any uppercase character
        if (value === value.toUpperCase()) {
            return {
                valid: false,
                message: 'The password must contain at least one lower case character'
            }
        }

        // The password doesn't contain any digit
        if (value.search(/[0-9]/) < 0) {
            return {
                valid: false,
                message: 'The password must contain at least one digit'
            }
        }
0 голосов
/ 10 июня 2019

Я использовал обратный вызов, наконец:

$('#userForm').bootstrapValidator({
        message: 'This value is not valid',
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        submitHandler: function (validator, form, submitButton) {
        },
        excluded: [':disabled'],
        fields: {
            FName: {
                validators: {
                    notEmpty: {
                        message: 'Required!'
                    }
                }
            },
            LName: {
                validators: {
                    notEmpty: {
                        message: 'Required!'
                    }
                }
            },
            UserName: {
                validators: {
                    notEmpty: {
                        message: 'Required!'
                    },
                    stringLength: {
                        min: 3,
                        max: 25,
                        message: 'Length should be between 3 to 25.'
                    }
                }
            },
            Password: {
                validators: {
                    notEmpty: {
                        message: 'Required!'
                    },
                    stringLength: {
                        min: 8,
                        max: 15,
                        message: 'Length should be between 8 to 5.'
                    },
                    callback: {
                        callback: function (value, validator, $field) {
                            var validv = true;
                            var messagev = '';

                            //Number
                            if (!value.match(/\d/)) {
                                validv = false;
                                messagev += 'Enter a number.<br />'
                            }
                            //Lowercase letter
                            if (!value.match(/[A-z]/)) {
                                validv = false;
                                messagev += 'Enter a lowercase charachter..<br />'
                            }
                            //Capital letter
                            if (!value.match(/[A-Z]/)) {
                                validv = false;
                                messagev += 'Enter a capital charachter.'
                            }

                            return {
                                valid: validv,
                                message: messagev
                            }
                        }

                    }
                }
            },
            selectStatus: {
                validators: {
                    notEmpty: {
                        message: 'Required!'
                    }
                }
            }
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...