From 5d365d11680dfe09c129f49e1e9030fe62b4ea33 Mon Sep 17 00:00:00 2001 From: Abhijeet Jain Date: Sun, 18 Sep 2022 18:22:26 +0530 Subject: [PATCH 1/3] feat(): fix layout --- package.json | 3 +- src/App.vue | 40 ++++++++++++++++++++----- src/components/NavMenu.vue | 60 ++++++++++++++++++++++++++++++++++++++ src/views/Home.vue | 18 +----------- src/views/Login.vue | 17 +++-------- vue.config.js | 3 ++ yarn.lock | 9 +++++- 7 files changed, 110 insertions(+), 40 deletions(-) create mode 100644 src/components/NavMenu.vue diff --git a/package.json b/package.json index c703907..83db1d9 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "serve": "vue-cli-service serve", - "dev": "vue-cli-service serve", + "dev": "cross-env PORT=8000 vue-cli-service serve", "build": "vue-cli-service build", "lint": "vue-cli-service lint" }, @@ -28,6 +28,7 @@ "@vue/cli-service": "~5.0.0", "@vue/eslint-config-typescript": "^9.1.0", "babel-plugin-component": "^1.1.1", + "cross-env": "^7.0.3", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", diff --git a/src/App.vue b/src/App.vue index 0c69ed8..bafe79e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,20 +1,44 @@ - diff --git a/src/views/Home.vue b/src/views/Home.vue index c3d9f4c..05d8254 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -1,16 +1,5 @@ + + From 01d751a8f7b2bab66a1e22d9abd23f0c6047a13a Mon Sep 17 00:00:00 2001 From: Abhijeet Jain Date: Sun, 18 Sep 2022 22:14:11 +0530 Subject: [PATCH 3/3] validate password for whitespace --- .eslintrc.js | 1 + src/views/Login.vue | 45 +++++++++++++++++++++++++-------------------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index d99c1e8..396c98d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -15,5 +15,6 @@ module.exports = { rules: { "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", + "@typescript-eslint/ban-types": "off", }, }; diff --git a/src/views/Login.vue b/src/views/Login.vue index 01ffadc..0024937 100644 --- a/src/views/Login.vue +++ b/src/views/Login.vue @@ -8,6 +8,7 @@ @close="close" >
{ - // if (value === '') { - // callback(new Error('Please input the password')); - // } else { - // if (this.ruleForm.checkPass !== '') { - // this.$refs.ruleForm.validateField('checkPass'); - // } - // callback(); - // } - // }; + validatePass = (rule: object, password: string, callback: Function) => { + console.log(rule); + if (/\s/.test(password)) { + callback(new Error("No spaces please!")); + } + callback(); + }; formValidator = { username: [ @@ -84,16 +87,18 @@ export default class Login extends Vue { message: "Hmm, ever had a username with just spaces?!", }, ], - password: { - required: true, - type: "string", - message: "We wont tell anyone, just need to authenticate it's you!", - }, - }; - - loginModel = { - username: "", - password: "", + password: [ + { + required: true, + type: "string", + message: "We wont tell anyone, just need to authenticate it's you!", + }, + { + type: "string", + message: "No spaces please!", + validator: this.validatePass, + }, + ], }; formValidity: { [key: string]: boolean } = {