v-sanitize-directive
TypeScript icon, indicating that this package has built-in type declarations

0.0.8 • Public • Published

Vue 3 Sanitize Input Plugin

  • This is a Vue 3 directive for sanitizing input fields using DOMPurify.

vue version vue version

Installing

Package manager

Using npm:

npm i v-sanitize-directive

Then, import and register the component:

Global Registration

In your main.js or main.ts file, globally register the plugin:

main.js

import { sanitizePlugin } from "v-sanitize-directive";
app.use(sanitizePlugin);

Local Registration

  • Composition API
<script lang="ts"  setup>
import { sanitize as vSanitize } from "v-sanitize-directive";
</script>
  • Options API
<script>
import { sanitize } from "v-sanitize-directive";

export default {
  directives: {
    "sanitize": sanitize
  },
}
</script>

Usage

  • Example 1: Options API - In your component.
<script>
import { sanitize } from "v-sanitize-directive";

export default {
  directives: {
    "sanitize": sanitize
  },
  data () {
    return {
       text: ""
    }
  }
}
</script>

<template>
      <input v-sanitize="text"
             v-model="text"
              type="text" />
</template>
  • Example 2: Composition API - In your component.
<script setup>
import { sanitize as vSanitize } from "v-sanitize-directive";
import { ref } from "vue";
const text = ref("");
</script>

<template>
      <input v-sanitize="text"
             v-model="text"
              type="text" />
</template>
  • Example 3: Global Registration with Composition API.After globally registering the plugin, in your component.
<script lang="ts"  setup>
import { ref } from "vue";
const text = ref("");
</script>

<template>
      <input v-sanitize="text"
             v-model="text"
              type="text" />
</template>
  • Example 4: Global Registration with Options API.After globally registering the plugin, in your component.
<script lang="ts" >
export default {
  data() {
    return {
      text: ""
    }
  }
}
</script>

<template>
      <input v-sanitize="text"
             v-model="text"
              type="text" />
</template>

Demo

License

License

Package Sidebar

Install

npm i v-sanitize-directive

Weekly Downloads

1

Version

0.0.8

License

GPL-3.0

Unpacked Size

4.94 kB

Total Files

6

Last publish

Collaborators

  • mustafadalga