validators as a plugin
This commit is contained in:
@@ -1,13 +0,0 @@
|
||||
const linkify = require('linkifyjs')
|
||||
export const validators = {
|
||||
required (fieldName) {
|
||||
return value => !!value || `validators.required.${fieldName}`
|
||||
},
|
||||
email: [
|
||||
v => !!v || 'validators.required.email',
|
||||
v => (v && !!linkify.test(v, 'email')) || 'validators.valid.email'
|
||||
],
|
||||
password: [
|
||||
v => !!v || 'validators.required.password'
|
||||
]
|
||||
}
|
||||
19
plugins/validators.js
Normal file
19
plugins/validators.js
Normal file
@@ -0,0 +1,19 @@
|
||||
const linkify = require('linkifyjs')
|
||||
|
||||
export default ({ app }, inject) => {
|
||||
const $t = app.i18n.t.bind(app.i18n)
|
||||
const validators = {
|
||||
required (fieldName) {
|
||||
return value => !!value || $t('validators.required', { fieldName })
|
||||
},
|
||||
email: [
|
||||
v => !!v || $t('validators.required', { fieldName: $t('common.email') }),
|
||||
v => (v && !!linkify.test(v, 'email')) || $t('validators.email')
|
||||
],
|
||||
password: [
|
||||
v => !!v || $t('validators.required', { fieldName: $t('common.password') })
|
||||
]
|
||||
}
|
||||
|
||||
inject('validators', validators)
|
||||
}
|
||||
@@ -1,59 +1,6 @@
|
||||
import Vue from 'vue'
|
||||
// https://fontawesome.com/icons?d=gallery
|
||||
// //
|
||||
// import 'vue-awesome/icons/lock'
|
||||
// import 'vue-awesome/icons/user'
|
||||
// import 'vue-awesome/icons/plus'
|
||||
// import 'vue-awesome/icons/cog'
|
||||
// import 'vue-awesome/icons/tools'
|
||||
// import 'vue-awesome/icons/file-export'
|
||||
// import 'vue-awesome/icons/sign-out-alt'
|
||||
// import 'vue-awesome/icons/clock'
|
||||
// import 'vue-awesome/icons/map-marker-alt'
|
||||
// import 'vue-awesome/icons/file-alt'
|
||||
// import 'vue-awesome/icons/image'
|
||||
// import 'vue-awesome/icons/tag'
|
||||
// import 'vue-awesome/icons/users'
|
||||
// import 'vue-awesome/icons/calendar'
|
||||
// import 'vue-awesome/icons/edit'
|
||||
// import 'vue-awesome/icons/envelope-open-text'
|
||||
// import 'vue-awesome/icons/user-secret'
|
||||
// import 'vue-awesome/icons/question-circle'
|
||||
// import 'vue-awesome/icons/share'
|
||||
// import 'vue-awesome/icons/comment'
|
||||
// import 'vue-awesome/icons/comments'
|
||||
// import 'vue-awesome/icons/tags'
|
||||
// import 'vue-awesome/icons/chevron-right'
|
||||
// import 'vue-awesome/icons/chevron-left'
|
||||
// import 'vue-awesome/icons/search'
|
||||
// import 'vue-awesome/icons/times'
|
||||
// import 'vue-awesome/icons/envelope'
|
||||
// import 'vue-awesome/icons/calendar-day'
|
||||
// import 'vue-awesome/icons/calendar-week'
|
||||
// import 'vue-awesome/icons/calendar-alt'
|
||||
// import 'vue-awesome/icons/network-wired'
|
||||
// import 'vue-awesome/icons/rss'
|
||||
// import 'vue-awesome/icons/bold'
|
||||
// import 'vue-awesome/icons/italic'
|
||||
// import 'vue-awesome/icons/strikethrough'
|
||||
// import 'vue-awesome/icons/quote-right'
|
||||
// import 'vue-awesome/icons/underline'
|
||||
// import 'vue-awesome/icons/code'
|
||||
// import 'vue-awesome/icons/paragraph'
|
||||
// import 'vue-awesome/icons/list-ul'
|
||||
// import 'vue-awesome/icons/list-ol'
|
||||
// import 'vue-awesome/icons/heading'
|
||||
// import 'vue-awesome/icons/link'
|
||||
// import 'vue-awesome/icons/hands-helping'
|
||||
// import 'vue-awesome/icons/question'
|
||||
// import 'vue-awesome/icons/vector-square'
|
||||
// import 'vue-awesome/icons/bullhorn'
|
||||
|
||||
// import Icon from 'vue-awesome/components/Icon'
|
||||
|
||||
import VueClipboard from 'vue-clipboard2'
|
||||
|
||||
export default () => {
|
||||
// Vue.component('v-icon', Icon)
|
||||
Vue.use(VueClipboard)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user