[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10025":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":39,"readmeContent":40,"aiSummary":41,"trendingCount":16,"starSnapshotCount":16,"syncStatus":42,"lastSyncTime":43,"discoverSource":44},10025,"vee-validate","logaretm\u002Fvee-validate","logaretm","✅  Painless Vue forms","https:\u002F\u002Fvee-validate.logaretm.com\u002Fv4",null,"TypeScript",11261,1296,112,137,0,1,10,3,44.34,"MIT License",false,"main",[25,26,27,28,29,30,31,32,33,5,34,35,36,37,38],"form","form-validation","forms","hacktoberfest","validate","validation","validation-library","validations","validator","vue","vue2","vue3","vue3-composition-api","vuejs","2026-06-12 02:02:16","\u003Cp align=\"center\">\r\n  \u003Ca href=\"https:\u002F\u002Fvee-validate.logaretm.com\" target=\"_blank\">\r\n    \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Flogaretm\u002Fvee-validate\u002Fmain\u002Flogo.png\" width=\"200\" title=\"Go to website\">\r\n  \u003C\u002Fa>\r\n\u003C\u002Fp>\r\n\r\n\u003Cp align=\"center\">\r\nPainless Vue forms\r\n\u003C\u002Fp>\r\n\r\n\u003Cp align=\"center\">\r\n\r\n\u003Ca target=\"_blank\" href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fvee-validate\">\r\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fvee-validate.svg?label=&color=05bda8\">\r\n\u003C\u002Fa>\r\n\r\n\u003Ca target=\"_blank\" href=\"https:\u002F\u002Fnpm-stat.com\u002Fcharts.html?package=vee-validate\">\r\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fvee-validate.svg?color=05bd6d&label=\">\r\n\u003C\u002Fa>\r\n\r\n\u003Ca href=\"https:\u002F\u002Fvee-validate.logaretm.com\u002Fv5\u002F\" target=\"_blank\">\r\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-docs%20and%20demos-009f53\">\r\n\u003C\u002Fa>\r\n\r\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsponsors\u002Flogaretm\">\r\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-%E2%99%A5%20Sponsors-ec5cc6\">\r\n\r\n\u003C\u002Fa>\r\n\r\n\u003C\u002Fp>\r\n\r\n\u003Cbr>\r\n\r\n\u003Cp align=\"center\">\r\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsponsors\u002Flogaretm\">\r\n    \u003Cimg src='https:\u002F\u002Fsponsors.logaretm.com\u002Fsponsors.svg'>\r\n  \u003C\u002Fa>\r\n\u003C\u002Fp>\r\n\r\n\u003Cbr>\r\n\r\n## Features\r\n\r\n- **🍞 Easy:** Declarative validation that is familiar and easy to setup\r\n- **🧘‍♀️ Flexible:** Synchronous, Asynchronous, field-level or form-level validation\r\n- **⚡️ Fast:** Build faster forms faster with intuitive API and small footprint\r\n- **🏏 Minimal:** Only handles the complicated form concerns, gives you full control over everything else\r\n- **😎 UI Agnostic:** Works with native HTML elements or your favorite UI library components\r\n- **🦾 Progressive:** Works whether you use Vue.js as a progressive enhancement or in a complex setup\r\n- **✅ Built-in Rules:** Companion lib with 25+ Rules that covers most needs in most web applications\r\n- **🌐 i18n:** 45+ locales for built-in rules contributed by developers from all over the world\r\n\r\n## Getting Started\r\n\r\n### Installation\r\n\r\n```sh\r\n# Install with yarn\r\nyarn add vee-validate\r\n\r\n# Install with npm\r\nnpm install vee-validate --save\r\n```\r\n\r\n### Vue version support\r\n\r\nThe main v4 version supports Vue 3.x only, for previous versions of Vue, check the following the table\r\n\r\n| vue Version | vee-validate version | Documentation Link                                                                       |\r\n| ----------- | -------------------- | ---------------------------------------------------------------------------------------- |\r\n| `2.x`       | `2.x` or `3.x`       | [v2](https:\u002F\u002Fvee-validate.logaretm.com\u002Fv2) or [v3](https:\u002F\u002Fvee-validate.logaretm.com\u002Fv3) |\r\n| `3.x`       | `4.x` or `5.x`       | [v4](https:\u002F\u002Fvee-validate.logaretm.com\u002Fv4) or [v5](https:\u002F\u002Fvee-validate.logaretm.com\u002Fv5) |\r\n\r\n### Usage\r\n\r\nvee-validate offers two styles to integrate form validation into your Vue.js apps.\r\n\r\n#### Composition API\r\n\r\nThe fastest way to create a form and manage its validation, behavior, and values is with the composition API.\r\n\r\nCreate your form with `useForm` and then use `defineField` to create your field model and props\u002Fattributes and `handleSubmit` to use the values and send them to an API.\r\n\r\n```vue\r\n\u003Cscript setup>\r\nimport { useForm } from 'vee-validate';\r\n\r\n\u002F\u002F Validation, or use `yup` or `zod`\r\nfunction required(value) {\r\n  return value ? true : 'This field is required';\r\n}\r\n\r\n\u002F\u002F Create the form\r\nconst { defineField, handleSubmit, errors } = useForm({\r\n  validationSchema: {\r\n    field: required,\r\n  },\r\n});\r\n\r\n\u002F\u002F Define fields\r\nconst [field, fieldProps] = defineField('field');\r\n\r\n\u002F\u002F Submit handler\r\nconst onSubmit = handleSubmit(values => {\r\n  \u002F\u002F Submit to API\r\n  console.log(values);\r\n});\r\n\u003C\u002Fscript>\r\n\r\n\u003Ctemplate>\r\n  \u003Cform @submit=\"onSubmit\">\r\n    \u003Cinput v-model=\"field\" v-bind=\"fieldProps\" \u002F>\r\n    \u003Cspan>{{ errors.field }}\u003C\u002Fspan>\r\n\r\n    \u003Cbutton>Submit\u003C\u002Fbutton>\r\n  \u003C\u002Fform>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\nYou can do so much more than this, for more info [check the composition API documentation](https:\u002F\u002Fvee-validate.logaretm.com\u002Fv5\u002Fguide\u002Fcomposition-api\u002Fgetting-started\u002F).\r\n\r\n#### Declarative Components\r\n\r\nHigher-order components can also be used to build forms. Register the `Field` and `Form` components and create a simple `required` validator:\r\n\r\n```vue\r\n\u003Cscript setup>\r\nimport { Field, Form } from 'vee-validate';\r\n\r\n\u002F\u002F Validation, or use `yup` or `zod`\r\nfunction required(value) {\r\n  return value ? true : 'This field is required';\r\n}\r\n\r\n\u002F\u002F Submit handler\r\nfunction onSubmit(values) {\r\n  \u002F\u002F Submit to API\r\n  console.log(values);\r\n}\r\n\u003C\u002Fscript>\r\n\r\n\u003Ctemplate>\r\n  \u003CForm v-slot=\"{ errors }\" @submit=\"onSubmit\">\r\n    \u003CField name=\"field\" :rules=\"required\" \u002F>\r\n\r\n    \u003Cspan>{{ errors.field }}\u003C\u002Fspan>\r\n\r\n    \u003Cbutton>Submit\u003C\u002Fbutton>\r\n  \u003C\u002FForm>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\nThe `Field` component renders an `input` of type `text` by default but you can [control that](https:\u002F\u002Fvee-validate.logaretm.com\u002Fv5\u002Fapi\u002Ffield#rendering-fields)\r\n\r\n## 📚 Documentation\r\n\r\nRead the [documentation and demos](https:\u002F\u002Fvee-validate.logaretm.com\u002Fv4).\r\n\r\n## Contributing\r\n\r\nYou are welcome to contribute to this project, but before you do, please make sure you read the [contribution guide](\u002FCONTRIBUTING.md).\r\n\r\n## Credits\r\n\r\n- Inspired by Laravel's [validation syntax](https:\u002F\u002Flaravel.com\u002Fdocs\u002F5.4\u002Fvalidation)\r\n- v4 API Inspired by [Formik's](https:\u002F\u002Fgithub.com\u002Fformium\u002Fformik)\r\n- Nested path types by [react-hook-form](https:\u002F\u002Fgithub.com\u002Freact-hook-form\u002Freact-hook-form)\r\n- Logo by [Baianat](https:\u002F\u002Fgithub.com\u002Fbaianat)\r\n\r\n## Emeriti\r\n\r\nHere we honor past contributors and sponsors who have been a major part on this project.\r\n\r\n- [Baianat](https:\u002F\u002Fgithub.com\u002Fbaianat).\r\n\r\n## ⚖️ License\r\n\r\nReleased under [MIT](\u002FLICENSE) by [@logaretm](https:\u002F\u002Fgithub.com\u002Flogaretm).\r\n","vee-validate 是一个用于 Vue.js 的表单验证库，旨在简化表单处理。它提供了声明式的验证方式，支持同步、异步、字段级或表单级的验证，具有直观的API和小巧的体积，使得开发者能够快速构建高效且灵活的表单。此外，vee-validate 还内置了超过25种验证规则，并支持45种以上的语言环境，适用于各种Web应用需求。该库对UI框架无特定依赖，既可与原生HTML元素配合使用，也能无缝集成到任何Vue组件中，非常适合需要在Vue项目中实现复杂表单逻辑而不牺牲性能或灵活性的场景。",2,"2026-06-11 03:26:09","top_topic"]