\n\n### Description\n\nThe UInputTag element does not correctly render the error text for schema validation errors for pattern matching of the individual items within its array. \n\nIt works fine showing an error about the length of the array, but not about problems for the items within the array.\n\n\u003Cimg width=\"779\" height=\"328\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/cf031108-314b-4fd5-9859-cd275b8d3410\" />\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3187,3190,3193],{"name":3188,"color":3189},"bug","d73a4a",{"name":3191,"color":3192},"v3","49DCB8",{"name":3194,"color":3195},"triage","ffffff",4573,"nuxt","ui","open","UInputTag does not display validation errors for pattern matching","2025-07-22T14:39:33Z","https://github.com/nuxt/ui/issues/4573",0.6705554,{"description":3205,"labels":3206,"number":3217,"owner":3197,"repository":3197,"state":3199,"title":3218,"updated_at":3219,"url":3220,"score":3221},"### Environment\n\n------------------------------\r\n- Operating System: Darwin\r\n- Node Version: v20.11.1\r\n- Nuxt Version: -\r\n- CLI Version: 3.11.1\r\n- Nitro Version: -\r\n- Package Manager: pnpm@8.15.5\r\n- Builder: -\r\n- User Config: -\r\n- Runtime Modules: -\r\n- Build Modules: -\r\n------------------------------\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-vtru8w?file=components%2FClientComp.vue\n\n### Describe the bug\n\nAs the title says: when the component that is used for `nuxt-client` has an empty or no script block, it errors with errors and warnings in the browser console.\r\n\r\n\r\n\r\nBy empty I mean like this: `\u003Cscript setup lang=\"ts\">\u003C/script>`.\r\n\r\nWe need to display some content only after mounted, so we use ClientOnly in said nuxt-client component. With this, the component is broken and doesn't render at all. Without ClientOnly, at least it renders.\r\n\r\nThe minimum to fix it is to insert an \"empty\" comment in the script part 😅\r\n```\r\n\u003Cscript setup lang=\"ts\">\r\n//\r\n\u003C/script>\r\n```\r\n\r\nAfter doing this, the errors/warnings in browser console are gone. And ClientOnly inside the component works as expected.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\nFailed to load module script: Expected a JavaScript module script but the server responded with a MIME type of \"text/html\". Strict MIME type checking is enforced for module scripts per HTML spec.\n```\n",[3207,3210,3211,3214],{"name":3208,"color":3209},"workaround available","11376d",{"name":3188,"color":3189},{"name":3212,"color":3213},"🔨 p3-minor","FBCA04",{"name":3215,"color":3216},"server components","839413",26652,"Component with empty or no script block errors when used with `nuxt-client` inside a server component","2024-11-19T16:21:20Z","https://github.com/nuxt/nuxt/issues/26652",0.6835717,{"description":3223,"labels":3224,"number":3229,"owner":3197,"repository":3198,"state":3230,"title":3231,"updated_at":3232,"url":3233,"score":3234},"### For what version of Nuxt UI are you asking this question?\n\nv2.x\n\n### Description\n\nI'm using the FormGroup component, and I've set the error to true, however unless it contains a non-empty text value the error slot won't render. Is this intentional or a bug? I would tend to think it's the latter.\n\n```\n\u003CUFormGroup :error=\"true\">\n \u003Ctemplate #error>\n \u003Cdiv>I will not render\u003C/div>\n \u003Ctemplate>\n\u003C/UFormGroup>\n```\n\n```\n\u003CUFormGroup :error=\"true && 'some error'\">\n \u003Ctemplate #error>\n \u003Cdiv>I will render\u003C/div>\n \u003Ctemplate>\n\u003C/UFormGroup>\n```",[3225,3226],{"name":3188,"color":3189},{"name":3227,"color":3228},"stale","ededed",2634,"closed","FormGroup error with error slot","2025-06-14T15:36:58Z","https://github.com/nuxt/ui/issues/2634",0.6196695,{"description":3236,"labels":3237,"number":3241,"owner":3197,"repository":3198,"state":3230,"title":3242,"updated_at":3243,"url":3244,"score":3245},"### Environment\n\nN/A\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.2.0\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/compassionate-jasper-w2k3lm\n\n### Description\n\nThe `InputMenu` component throws an error if one of the fields provided in `filterFields` resolved to a nullish or non-string value. You can reproduce this in the sandbox by typing in the input box and observing the console.\n\nSo having the following setup errors out, which is a real-world use case I'm encountering this:\n\n```vue\n\u003Cscript lang=\"ts\" setup>\nconst items = [\n {\n label: 'foo',\n alias: 'something'\n },\n {\n label: 'bar'\n }\n]\n\u003C/script>\n\n\u003Ctemplate>\n \u003CUInputMenu :items :filter-fields=\"['label', 'alias']\" />\n\u003C/template>\n```\n\nThis is caused by `useFilter.contains` being called with a non-string value.\n\nIt is somewhat related to https://github.com/nuxt/ui/issues/3606 which has been addressed previously, but only for primitive item types.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3238,3239,3240],{"name":3188,"color":3189},{"name":3191,"color":3192},{"name":3194,"color":3195},4509,"InputMenu: error if field field is nullish or non-string","2025-07-12T10:15:32Z","https://github.com/nuxt/ui/issues/4509",0.65660197,{"description":3247,"labels":3248,"number":3257,"owner":3197,"repository":3198,"state":3230,"title":3258,"updated_at":3259,"url":3260,"score":3261},"### Environment\n\nnot needed\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.1.0\n\n### Reproduction\n\nnot needed\n\n### Description\n\nThere is no error state on the input field like color \"error\" when u wrap URadioGroup in UFormField\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3249,3250,3253,3254,3255],{"name":3188,"color":3189},{"name":3251,"color":3252},"needs reproduction","CB47CF",{"name":3191,"color":3192},{"name":3194,"color":3195},{"name":3256,"color":3228},"closed-by-bot",4025,"RedioGroup in Form","2025-05-07T02:09:29Z","https://github.com/nuxt/ui/issues/4025",0.66298944,{"description":3263,"labels":3264,"number":3267,"owner":3197,"repository":3198,"state":3230,"title":3268,"updated_at":3269,"url":3270,"score":3271},"### Environment\n\n- Operating System: Darwin\n- Node Version: v23.5.0\n- Nuxt Version: 3.17.6\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.13\n- Package Manager: pnpm@9.15.4\n- Builder: -\n- User Config: devtools, typescript, modules, css, future, compatibilityDate\n- Runtime Modules: @nuxt/ui@3.2.0, @nuxt/eslint@1.5.1\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.2.0\n\n### Reproduction\n\nhttps://github.com/harkor/nuxt-ui-form-errors-reproduction\n\n[stackblitz](https://stackblitz.com/github/harkor/nuxt-ui-form-errors-reproduction)\n\n### Description\n\nIf I write this\n\n```ts\nformRef.value?.setErrors([\n {\n name: \"pathForACustomError\",\n message: \"This is a custom error message.\",\n },\n ]);\n```\n\nThe error will be set in formRef?.getErrors('pathForACustomError')\n\nBut if I watch a state like this and clear the error\n\n```ts\nwatch(\n () => state.hello,\n () => {\n console.log(\"Hello changed:\", state.hello);\n formRef.value?.clear(\"pathForACustomError\");\n },\n);\n```\n\nIf the UFormField component have a name (the component change the value), formRef?.getErrors('pathForACustomError') will not be cleared, it will for 1 or two tick but after that, the error is still there.\n\nIn my reproduction you have 3 URadioGroup\n\nHello, World and Hi\n\nIf you change\n- \"Hello\", error not cleared\n- \"World\", error cleared\n- \"Hi\", error cleared\n\nWhat change between these 3 fields\n- \"Hello\" have a name attribute in the UFormField\n- \"World\" don't have a name attribute in the UFormField\n- \"Hi\" have a name in attribute BUT with a @change will clear \"again\" the error\n\n**PS: Don't forget to click on \"Set custom error\" button before change values on URadioGroup's components**\n\nBonus: Since version 3.2.0, I have a typescript error for getErrors(path) with typecheck enabled\n\n**Expectations**\n- First UFormField \"hello\" clear the error when state change with a watch\n- No typescript error on getErrors\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\nERROR 11:39:08 AM\n ERROR(vue-tsc) Argument of type '\"pathForACustomError\"' is not assignable to parameter of type 'undefined'.\n FILE /home/projects/xoriallzvx.github/app/components/MyForm.vue:127:36\n\n 125 | \u003C/UFormField>\n 126 | \u003Cdiv\n > 127 | v-if=\"!!formRef?.getErrors('pathForACustomError').length\"\n | ^^^^^^^^^^^^^^^^^^^^^\n 128 | class=\"text-red-400\"\n 129 | >\n 130 | {{ formRef?.getErrors(\"pathForACustomError\")[0]?.message }}\n\n ERROR(vue-tsc) Argument of type '\"pathForACustomError\"' is not assignable to parameter of type 'undefined'.\n FILE /home/projects/xoriallzvx.github/app/components/MyForm.vue:130:29\n\n 128 | class=\"text-red-400\"\n 129 | >\n > 130 | {{ formRef?.getErrors(\"pathForACustomError\")[0]?.message }}\n | ^^^^^^^^^^^^^^^^^^^^^\n 131 | \u003C/div>\n 132 | \u003C/UForm>\n 133 | \u003C/template>\n\n[vue-tsc] Found 2 errors. Watching for file changes.\n```",[3265,3266],{"name":3188,"color":3189},{"name":3191,"color":3192},4455,"SetErrors with a ref and clear this error from a watcher don't work + TS Error","2025-09-12T16:04:27Z","https://github.com/nuxt/ui/issues/4455",0.6672547,{"description":3273,"labels":3274,"number":3282,"owner":3197,"repository":3198,"state":3230,"title":3283,"updated_at":3284,"url":3285,"score":3286},"### Environment\n\nNot important in this case?\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Package\n\nv4.x\n\n### Version\n\nv4.0.0\n\n### Reproduction\n\n```javascript\nconst registrationFields: AuthFormProps[\"fields\"] = [{\n name: \"name\",\n type: \"text\" as const,\n label: \"Name\",\n placeholder: \"Enter your name\"\n}]\n```\n\n### Description\n\nPlaceholder type seems to be missing and now TypeScript is unhappy with me.\n\n### Additional context\n\nIt's a separate issue that I brought up in #5005 and @HugoRCD suggested me to open a new issue.",[3275,3276,3279,3280],{"name":3188,"color":3189},{"name":3277,"color":3278},"duplicate","cfd3d7",{"name":3194,"color":3195},{"name":3281,"color":3192},"v4",5073,"'placeholder' does not exist in type 'AuthFormField'","2025-09-29T15:13:37Z","https://github.com/nuxt/ui/issues/5073",0.6685678,{"description":3288,"labels":3289,"number":3294,"owner":3197,"repository":3198,"state":3230,"title":3295,"updated_at":3296,"url":3297,"score":3298},"### Description\n\nI have a file field **without** `v-model`, then I select a file. I have another field with a validation error. On submit, the validation error is shown on the email field and the file field is cleared. Is this a bug or a feature. With version `3.2.0` this behaviour does not exist. In `3.3.0` it does. It might be related to one of the dependencies though, because if I first upgrade to 3.3.0 and then go back to 3.2.0, where the lockfile still shows a lot of changes, the problem still exists.\n\n```vue\n\u003Cscript setup lang=\"ts\">\nimport type { FormError, FormSubmitEvent } from '#ui/types'\n\nconst state = reactive({\n email: undefined,\n file: undefined,\n})\n\nconst validate = (): FormError[] => {\n const errors = []\n errors.push({ name: 'email', message: 'Required' })\n return errors\n}\n\nasync function onSubmit(event: FormSubmitEvent\u003Ctypeof state>) {\n console.log(event.data)\n}\n\u003C/script>\n\n\u003Ctemplate>\n \u003CUForm\n :validate=\"validate\"\n :state=\"state\"\n class=\"space-y-4\"\n @submit=\"onSubmit\"\n\n \u003CUFormField label=\"Email\" name=\"email\">\n \u003CUInput v-model=\"state.email\" />\n \u003C/UFormField>\n\n \u003CUFormField label=\"File\" name=\"file\">\n \u003CUInput type=\"file\" />\n \u003C/UFormField>\n\n \u003CUButton type=\"submit\"> Submit \u003C/UButton>\n \u003C/UForm>\n\u003C/template>\n```",[3290,3293],{"name":3291,"color":3292},"question","d876e3",{"name":3191,"color":3192},4637,"File field gets cleared, bug?","2025-08-21T08:42:25Z","https://github.com/nuxt/ui/issues/4637",0.67003745,{"description":3300,"labels":3301,"number":3305,"owner":3197,"repository":3198,"state":3230,"title":3306,"updated_at":3307,"url":3308,"score":3309},"### Environment\n\n- Operating System: Darwin\n- Node Version: v20.18.3\n- Nuxt Version: 3.16.2\n- CLI Version: 3.24.1\n- Nitro Version: 2.11.9\n- Package Manager: bun@1.1.28\n- Builder: -\n- User Config: devtools, modules, css, future, compatibilityDate\n- Runtime Modules: @nuxt/ui@3.0.2, @nuxt/eslint@1.3.0\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.0.2\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-s2opq2ko?file=app/pages/index.vue\n\n### Description\n\nGiven this component nesting:\n\n- `UForm`\n - `UModal`\n - `UForm`\n\nThis is rendered as the following html:\n\n- `UForm` -> `form` - ✅\n - `UModal` -> `div` - ✅ (teleported to root)\n - `UForm` -> `div` - ❌ I am expecting `form`.\n\nI couldn't find a mention in the documentation that this is expected behaviour.\n\nTo reproduce:\n1. Run reproduction\n2. Click \"Open modal\" button\n3. Inspect the nested form element. It's a `div`:\n\n\nI am happy to have a crack at a PR, if you're willing to point me in the right direction 😌\n\n\n### Additional context\n\nFor context, this is our use case:\n* User fills out an onboarding form\n* One field in the onboarding form is business details\n* User has option to populate business details via business number (eg. [DUNS](https://www.dnb.com/en-us/smb/duns.html))\n* Business number field open in modal\n* User can enter business number in form in modal\n* User submits form, it populates state in parent form\n\n### Logs\n\n```shell-script\n\n```",[3302,3303,3304],{"name":3188,"color":3189},{"name":3191,"color":3192},{"name":3194,"color":3195},3913,"[Form] Nested `UForm` in `UModal` is not rendered as `form`","2025-04-16T08:34:48Z","https://github.com/nuxt/ui/issues/3913",0.67449987,{"labels":3311,"number":3319,"owner":3197,"repository":3197,"state":3230,"title":3320,"updated_at":3321,"url":3322,"score":3323},[3312,3313,3316],{"name":3227,"color":3195},{"name":3314,"color":3315},"pending triage","E99695",{"name":3317,"color":3318},"2.x","d4c5f9",7743,"when using $nuxt.error from client side, error page will not respect layout ","2023-01-22T15:36:04Z","https://github.com/nuxt/nuxt/issues/7743",0.67510855,["Reactive",3325],{},["Set"],["ShallowReactive",3328],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fwyYO8tWYrggK2uRZAcMt4R3vPMykeAJtBx38kXFl9yE":-1},"/nuxt/ui/5013"]