36
loading...
This website collects cookies to deliver better user experience
If you’re using Options API instead of Composition API, check out the link below:
Vue JS 2 Form Validation Using Options API
<template>
<section class="signup-view">
<form class="ui form">
</form>
</section>
</template>
<script>
export default {
setup() {},
};
</script>
<style scoped>
.signup-view {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.form {
width: 450px;
}
</style>
<template>
<div class="field">
<div class="ui left icon input big">
<i class="user icon"></i>
<input type="text" placeholder="Full Name" autocomplete="off" />
</div>
</div>
</template>
<script>
export default {
setup() {},
};
</script>
As you can see, I’ve used some additional CSS classes that are coming from Semantic UI. You do not need to know this in order to follow along with the rest of this guide.
Feel free to use your favourite CSS framework.
import NameField from "@/components/NameField";
export default {
components: {
NameField,
},
...
}
<NameField />
<template>
...
<input
type="text"
placeholder="Full Name"
autocomplete="off"
v-model="input"
/>
...
</template>
<script>
import { ref, computed } from "vue";
export default {
setup() {
let input = ref("");
const error = computed(() => {
return input.value === "" ? "The Input field is required" : “”;
});
return { input, error };
},
};
</script>
<template>
<div class="field">
<div class="ui left icon input big">
<i class="user icon"></i>
<input type="text" placeholder="Full Name" autocomplete="off" />
</div>
<div class="ui basic label pointing red" v-if="error">
{{ error }}
</div>
</div>
</template>
let input = ref(null);