1.2.0 • Published 6 years ago

vue-password-strength v1.2.0

Weekly downloads
26
License
-
Repository
github
Last release
6 years ago

Vue Password Strength Component

A password input field for Vue.js with a password strength indicator. It uses zxcvbn to calcuate a score based on the input value entered by the user.

Table of Contents

Installation

Yarn

yarn add vue-password-strength

Npm

npm i vue-password-strength --save

Unpkg

<script src="https://unpkg.com/vue-password-strength"></script>

How to use

Component

In your component you can use the default vue-password-strength component as follows:

<template>
    <div id="app">
        <vue-password-strength />
    </div>
</template>
<script>
import VuePasswordStrength from 'vue-password-strength';

export default {
    name: 'app',
    components: {
        VuePasswordStrength
    },
    // ... rest of your component
}
</script>

SSR

For a boost in performance in SSR applications you can use the .vue component instead of the complied component. Use import VuePasswordStrength from 'vue-password-strength/sfc'.

Options

The vue-password-strength component is fully customizable and can be changed to your liking. Example

<template>
    <div id="app">
        <vue-password-strength
            :value="oldPasswordValue"
            placeholder="Your old password" 
        />
    </div>
</template>

Available options:

NameTypeDefault
idString'input-password'
typeString'password'
placeholderString'Enter your password'
valueString
requiredBooleanfalse
labelTextString'Password'
inputGroupClassString'dhk-password-input'
aboveInputClassString'dhk-password-above-input'
labelClassString'dhk-input-label'
inputClassString'dhk-input'
passwordStrengthClassString'dhk-password-strength-container'
passwordStrengthInnerClassString'dhk-password-strength-inner'

Events

When a user enters a value in the input field, multiple events will be fired. You can catch these events and do stuff with it. Events fired by the vue-password-strength component are:

Score: The score calculated based on the current input value. inputChange: Current input value. feedback: Feedback generated by the zxcvbn library.

Example

<template>
    <div id="app">
        <vue-password-strength 
            @score="handleScore"
            @inputChange="handleInputChange"
            @feedback="handleFeedback"
        />
    </div>
</template>
<script>
import VuePasswordStrength from 'vue-password-strength';

export default {
    name: 'app',
    components: {
        VuePasswordStrength
    },
    methods: {
        handleScore(score) {
            // do something with the score value
        },
        handleInputChange(value) {
            // do something with the input value
        },
        handleFeedback(feedback) {
            // do something with the feedback
        }
    },
    // ... rest of your component
}
</script>

Issues

Issues can be created on the issues page.

Contributing

To contribute, please make a pull request.