
Security News
Open Source Maintainers Feeling the Weight of the EU’s Cyber Resilience Act
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
vue-textfield
Advanced tools
A Vue 3 text field component with dynamic validation using Yup, designed with modern UI/UX features.
A Vue 3 text field component with dynamic validation using Yup, designed with modern UI/UX features.
Install the component via npm:
npm install vue-textfield
<template>
<div id="app">
<TextField
v-model="textValue"
type="text"
label="Enter text"
required
minLength="3"
maxLength="10"
customError="Please enter valid text"
appendIcon="account"
/>
<TextField
v-model="emailValue"
type="email"
label="Enter email"
required
customError="Please enter a valid email"
prePendInnerIcon="email"
/>
<TextField
v-model="phoneValue"
type="tel"
label="Enter phone number"
required
minLength="10"
maxLength="15"
customError="Please enter a valid phone number"
/>
<TextField
v-model="dateValue"
type="date"
label="Enter date"
required
customError="Please enter a valid date"
min="2024-07-01"
max="2024-09-01"
/>
<TextField
v-model="selctedtValue"
@input="SelectValue"
type="password"
label="Enter Password"
:showPassword="true"
/>
<p>Text Value: {{ textValue }}</p>
<p>Email Value: {{ emailValue }}</p>
<p>Phone Value: {{ phoneValue }}</p>
<p>Date Value: {{ dateValue }}</p>
</div>
</template>
<script>
import { ref } from 'vue';
import TextField from 'vue-textfield';
export default {
name: 'App',
components: {
TextField
},
setup() {
const textValue = ref('');
const emailValue = ref('');
const phoneValue = ref('');
const dateValue = ref('');
return {
textValue,
emailValue,
phoneValue,
dateValue
};
}
};
</script>
<style>
/* Add any necessary styles here */
</style>
#Customization
/* Example CSS */
.textfield-container {
/* Your styles here */
}
.textfield-inner-container {
/* Your styles here */
}
.input-error {
border-color: red;
}
.labelError {
color: red;
}
.icon-container, .after-icon-container {
/* Your styles here */
}
<template>
<div id="app">
<TextField
v-model="exampleValue"
type="text"
label="Example Input"
required
minLength="5"
maxLength="15"
customError="Invalid input"
/>
<button @click="manualValidate">Validate Manually</button>
<p>Example Value: {{ exampleValue }}</p>
</div>
</template>
<script>
import { ref } from 'vue';
import TextField from 'vue-textfield';
export default {
name: 'App',
components: {
TextField
},
setup() {
const exampleValue = ref(null);
const manualValidate = () => {
// Assuming validate method is exposed in TextField component
this.$refs.exampleTextField.validate();
};
return {
exampleValue,
manualValidate
};
}
};
</script>
<style>
/* Add any necessary styles here */
</style>
Prop Name | Type | Default | Description |
---|---|---|---|
modelValue | String, Number | '' | The value of the input field. |
type | String | 'text' | The type of the input field (text, email, tel, number, password, date). |
customError | String | '' | Custom error message. |
label | String | '' | The label for the input field. |
required | Boolean | false | Whether the input field is required. |
minLength | Number | 0 | Minimum length for the input field. |
maxLength | Number | null | Maximum length for the input field. |
requiredError | String | 'This field is required' | Error message for the required validation. |
minValue | Number | 0 | Minimum value for the input field. |
placeholder | String | '' | Placeholder text for the input field. |
prePendInnerIcon | String, Object | null | Icon to display inside the input field, before the text. |
appendIcon | String, Object | null | Icon to display inside the input field, after the text. |
showPassword | Boolean | false | Toggle to show/hide password. |
min | Number | null | Minimum value for number and date input fields. |
max | Number | null | Maximum value for number and date input fields. |
Event | Description |
---|---|
update:modelValue | Emitted when the value of the input changes. |
Make sure to replace vue-textfield
with the actual name of your npm package. This README file covers the basic usage, props, events, and customization options for your Vue 3 text field component.
TextField
component, including their types, default values, and descriptions.validate
method and provided an example of how to manually trigger validation.TextField
component.By following this structure, users will have a comprehensive guide on how to use your vue-textfield
package effectively.
FAQs
A Vue 3 text field component with dynamic validation using Yup, designed with modern UI/UX features.
We found that vue-textfield demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.