finished user story Registrierung

This commit is contained in:
rchrist 2019-04-25 13:55:27 +02:00
parent 1427e4dcd2
commit a7223a49cb

View File

@ -7,14 +7,14 @@
<div class="">
<div class="" style="max-width: 440px">
<q-input outlined filled stack-label v-model="user.name" type="text"
label="Nutzername eingeben (mindestens 2 Zeichen)"/>
label="Nutzername eingeben" :rules="[val=>val.length>=2||'Name muss mindestens 2 Zeichen lang sein!']"/>
</div>
</div>
</div>
<div class="col">
<div class="">
<div class="" style="max-width: 440px">
<q-input outlined filled stack-label v-model="user.email" type="text" label="Email eingeben (gültige Email)"/>
<q-input outlined filled stack-label v-model="user.email" type="text" label="Email eingeben" :rules="[val=>validateEmail(val)||'Email muss valide sein']"/>
</div>
</div>
</div>
@ -22,7 +22,7 @@
<div class="">
<div class="" style="max-width: 440px">
<q-input outlined filled stack-label v-model="user.checkemail" type="text"
label="Email erneut eingeben" placeholer="Email"/>
label="Email erneut eingeben" placeholer="Email" :rules="[val=>val===user.email||'Email stimmt nicht überein']"/>
</div>
</div>
</div>
@ -30,7 +30,7 @@
<div class="">
<div class="" style="max-width: 440px">
<q-input outlined filled stack-label v-model="user.password" type="password"
label="Passwort eingeben (mindestens 8 Zeichen)"/>
label="Passwort eingeben" :rules="[val=>val.length>=8||'Passwort muss mindestens 8 Zeichen lang sein!']"/>
</div>
</div>
</div>
@ -38,7 +38,7 @@
<div class="">
<div class="" style="max-width: 440px">
<q-input outlined filled stack-label v-model="user.checkpassword" type="password"
label="Passwort erneut eingeben"/>
label="Passwort erneut eingeben" :rules="[val=>val===user.password||'Passwort stimmt nicht überein']"/>
</div>
</div>
</div>
@ -46,6 +46,7 @@
<div class="">
<div class="" style="max-width: 440px">
<q-btn
:disabled="!validationSuccesful"
label="Sign up"
color="primary"
class="full-width"
@ -75,10 +76,24 @@
},
}
},
computed: {
validationSuccesful(){
if(this.user.name.length>=2
&&this.validateEmail(this.user.email)
&&this.user.email===this.user.checkemail
&&this.user.password.length>=8
&&this.user.password===this.user.checkpassword){
return true;
}
return false;
}
},
methods: {
validateEmail(email) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(email).toLowerCase());
},
register: function () {
this.login();
console.log(localStorage.getItem('registerToken'));
if(this.user.email===this.user.checkemail&&this.user.password===this.user.checkpassword){
this.login();
const data = {
@ -94,13 +109,17 @@
};
console.log("POST /api/register/ - json: " + JSON.stringify(data));
this.$axios.post('http://www.se.hs-heilbronn.de:8090/buga19usermanagement/account/register', data)
const token = JSON.parse(localStorage.getItem('registerToken')).token;
this.$axios.post('http://www.se.hs-heilbronn.de:8090/buga19usermanagement/account/register', data,{
headers: {
'Authorization': 'Bearer ' + token,
}
})
.then((response) => {
console.log("POST /api/login/ - response: ");
console.log(response.data);
console.log("TOKEN");
console.log(response.data.token);
if(response.status === 201){
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', { message: "Deine Registrierung war erfolgreich!", title: "Registrierungsprozess", color: "blue"});
}
})
.catch((error) => {
let message;