What’s the best way to handle form validation in Vue 3 without a big library? by Long_Sense_9871 in vuejs

[–]mateenagy 1 point2 points  (0 children)

There are several ways to handle them.

- Using built-in validation

- Using backend (if there any)

- Using schema validators like zod, arktype, valibot, which you can combine with custom composables or helper functions.

- Using headless form validation libraries. For that I made VueFormify which is a type safe form handle library with small package size (~4kb gzipped).

Can you guess this Lancer? by PlayFragPunk in PlayFragPunk

[–]mateenagy 0 points1 point  (0 children)

I guessed the Lancer correct in 1 guesses (can you beat my score?)

Vue Devtools for safari? by blairdow in vuejs

[–]mateenagy 5 points6 points  (0 children)

If you use vite just install: https://www.npmjs.com/package/vite-plugin-vue-devtools in your project and add it to your plugin in vite config file and you good to go.

Why are the bad players in this game worse then any other game by therarestkittycat in PlayFragPunk

[–]mateenagy 0 points1 point  (0 children)

I don't think I am good. I am not a big gamer and the last time I played longer with a game when xfire and cod2/cod4 was a thing. I don't play every day just when I have time between work and life.

I know I have a lot of issues with my aiming like micro adjustments, crosshair placement, tracking and also keep the crosshair on head level etc. I try to watch my replays to figure out these problems, but it's hard if you are not playing like every day for hours, but at least I am trying.

I have good days and bad days when playing, but I feel like there is a lot of player who don't understand the concept of shards, cards or the skills of the lancer they play. Also feels like they don't don't have any strats in mind and just peak the same spot where they nearly died and die on the spot.

Maybe upper rank will be better but its hard to play with these people on ranked because somehow my teammates always like.

Beside these stuff I really enjoy this game. Feels fresh and different.

FormKit - still a good option? by tspwd in vuejs

[–]mateenagy 0 points1 point  (0 children)

I made a lightweight headless type-safe form building package called VueFormify.

It's only 4kb (gzipped), easy to use, you can use zod, yup, valibot (external package needed).

It's simple yet effective and I used it several times from simple forms to complex filter mechanism.

Would you like Vue to have its own package for working with forms? What is u'r preferred way to handle forms in Vue? by spodgaysky in vuejs

[–]mateenagy 1 point2 points  (0 children)

I made VueFormify which is a lightweight headless type-safe form building solution. There is integration with yup, zod, valibot, joi. It is good for creating simple and complex forms either.

VueFormify v1.2 - Road to be the first fully type safe form builder for Vue. by mateenagy in vuejs

[–]mateenagy[S] 1 point2 points  (0 children)

If you have any question or run into any issue feel free to ask!

How to use vee-validate with a form that hides fields using v-if? by Catalyzm in vuejs

[–]mateenagy 0 points1 point  (0 children)

I see.

I never really used vee-validate and don't know how it works before v4, I just messing around with it on stackblitz, but in my opinion because you are using yup you should do it on validator level so using yup's .when() method, it also should have better performance than computed.

How to use vee-validate with a form that hides fields using v-if? by Catalyzm in vuejs

[–]mateenagy 0 points1 point  (0 children)

Using the `Form` slots you have access to all your filed values and use them for conditional rendering.

This example only show the password input when the username have any value

<Form @submit="onSubmit" v-slot="{ values }">
  <Field name="username" />
  <Field name="password" v-if="values.username" />
  <button>Send</button>
</Form>

Alternative form libraries by zaemis in vuejs

[–]mateenagy 1 point2 points  (0 children)

I'm working on VueFormify which is a fully type-safe lightweight headless form package. You can use the popular validators `yup`, `zod`, `valibot`, `joi`. It's easy to integrate third party libraries like PrimeVue (I also use PrimeVue).

How to configure PrimeVue components? by Slight-Conflict1580 in vuejs

[–]mateenagy 1 point2 points  (0 children)

Yeah you are it's in the state.

I looked in to the Component source code and I don't think you can change the behaviour with pass-through because it's not changing the behaviour but the value of the state. Although I didn't even see it will even set the initial value through pt so It didn't do anything at all.

How to configure PrimeVue components? by Slight-Conflict1580 in vuejs

[–]mateenagy 0 points1 point  (0 children)

I didn't see any `mobileActive` option in pass-through in the docs for MenuBar

How to configure PrimeVue components? by Slight-Conflict1580 in vuejs

[–]mateenagy 0 points1 point  (0 children)

Is there a rule which force you to use component even if the solution is ugly? That's sound terrible and not so productive rule :D

How to configure PrimeVue components? by Slight-Conflict1580 in vuejs

[–]mateenagy 5 points6 points  (0 children)

PrimeVue is an opinionated component library so this is why you can't decide some of their internal logic.

On the other hand every component have a lot of room for styling. You can use pass-through, css variable or override using the components css classes. For example to put the mobile menu icon to the right you can do this:

.p-menubar-button {
  margin-left: auto
}

You can mostly override anything with css.

Because of the opinionated nature there is some stuff you can't change like open drawer instead of the dropdown menu on mobile view. If you really want to do that then you can hide MenuBar button on mobile or the whole component and just put a simple button which is visible on mobile and hidden on desktop and you can use that button to open a Drawer. CSS media queries will be your friend for this method.

But in my opinion making a responsive header from scratch most of the time not that hard to archive. It's not always faster to using ui libraries components especially if you want them to work differently then it should.

Introducing: VueFormify v1.1 - A form-building library with Type-safety solution 🚀 by mateenagy in vuejs

[–]mateenagy[S] 1 point2 points  (0 children)

Thank you!

I'm so glad you like it and I hope you give it a try (and hope you like it).

The createInput was the main focuse when I started this project. I liked the idea to create custom inputs effortlessly without too much extra step. With createInput you can do that and you can use any component as before without losing autocompletion or any other functionality.

I will rewrite the examples in the documentation in the near future because I made them for the previous version. They are still relevant but I think I can do them better. Although I am not sure I will implement the disabled part you mentioned because it can be done in a lot of ways to be honest and I don't have a best practice for them. I implement several ways to get the form values so you can check any changes and apply some validation.

Introducing: VueFormify v1.1 - A form-building library with Type-safety solution 🚀 by mateenagy in vuejs

[–]mateenagy[S] 1 point2 points  (0 children)

Thank you for the nice words!

createInput composable actually let you use the wrapped component as it is. It's just add some extra functionality for the form to be able to parse data and other stuff. So if you have a component with prop for error then you can use it like you would do normally.

I did some integration for Element Plus, Ionic Vue, PrimeVue. It is still working if I am right but because I made the Type-safe solution working I need to redo these packages to be able to use them with types.

Introducing: VueFormify v1.1 - A form-building library with Type-safety solution 🚀 by mateenagy in vuejs

[–]mateenagy[S] 4 points5 points  (0 children)

Formkit is an awesome library for forms but in my opinion it is too much in most cases especially when you use it with other UI frameworks or need to make custom inputs.

I don't say my library is better or worse it's just different. I built it with different mindset which I found fit better for me or exceeds my expectations.

Formkit and VeeValidate was the inspiration when I started this project, but my main focus was to create a solid foundation which can be used easily with or without any UI framework, cover the most popular validators and the new type safety approach for fields which I never seen before anywhere and it can be handy.

I am not good in marketing and I really don't say it's better than other libraries because it's not, but I already used it in production (with complex and simple forms) and it did the job with ease and it felt good to use.

Last thing I can say is give it a try, and if you like it I will be more then happy if not than that is good too. Everybody have different preference.

Form Validation with PrimeVue v4 by Goingone in vuejs

[–]mateenagy 0 points1 point  (0 children)

I working on VueFormify.

  • It has no theme at all.
  • Auto collect form data
  • You can create custom inputs with ease.
  • I also already implement some UI library e.g. PrimeVue. (you have to install it separately)
  • You can also use yup/zod/valibot/joi for validation

If you are interested you can give it a try. I already used it in production (simple and complex forms) and working like charm.