我正在用vuejs学习laravel。所以我有一个问题。当按下tfaEnabled按钮时,必须将数据库设置为true。默认情况下,此列为false。
当我单击按钮时,他需要变为真实。我希望你们中的一个可以帮助我。
ps(对不起,我的英语不好)
这是我的2fa.vue:
<template>
<v-container class="user-form-lime" fluid grid-list-xl>
<v-form>
<v-layout row wrap>
<v-flex xs12 md6 xl3>
<v-switch v-model="tfaEnabled"
label="Tweefactor authenticatie"
name="tfaEnabled"
prepend-icon="lock"
@change="change" />
<v-flex xs12>
<v-text-field v-if="tfaEnabled"
v-model="google2fa.token"
label="Token"
:rules="[rules.required]"
type="text" />
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap>
<v-flex xs12>
<v-btn color="success" @click="submit">
Opslaan
</v-btn>
</v-flex>
</v-layout>
</v-form>
</v-container>
</template>
<script>
export default {
name: 'UserForm2fa',
props: {
id: { type: Number, required: true }
},
data() {
return {
tfaEnabled: false,
google2fa: {
token: '',
},
rules: {
required: val => !!val || 'Dit veld mag niet leeg zijn',
}
};
},
methods: {
changeStatus() {
this.$emit( 'change', this.tfaEnabled );
},
submit() {
this.$emit('submit', this.token)
}
}
}
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
这是我的控制者:
public function update2faStatus( Update2faSatus $request ) {
$user = User::findOrFail( $request->id );
if($request->input('tfaEnabled'){
});
}
答案 0 :(得分:1)
我会做这样的事情:
public function update2faStatus(Update2faSatus $request) {
$user = User::findOrFail($request->id);
$tfaEnabled = $request->input('tfaEnabled', false);
$user->tfaEnabled = $tfaEnabled;
$user->save();
}
因此,如果请求中包含tfaEnabled,它将获取该值并将其存储到$tfaEnabled
中,否则默认为false(例如,当未选中此复选框时)。