@lextdev/form
TypeScript icon, indicating that this package has built-in type declarations

0.0.17 • Public • Published

Lext/Form Management

A brief description of your project.

Table of Contents

Installation

npm install @lextdev/form

Usage

import { Button, SafeAreaView, TextInput } from "@lextdev/core"
import { Controller, useForm, useResolver } from "@lextdev/form"
import React from "react"

const Main = () => {
  const { validateResolver, validate } = useResolver()

  const scheme = validate.object({
    name: validate.string().email("Not Email").required("This is required"),
  })
  
  const form = useForm({
    defaultValues: {
      name: "",
    },
    resolver: validateResolver(scheme),
  })

  return (
    <SafeAreaView backgroundColor="background">
      <Controller
        name="name"
        control={form.control}
        rules={{
          required: "This is required",
        }}
        render={({
          field: { value, onChange, onBlur },
          fieldState: { error },
        }) => (
          <TextInput
            error={error?.message}
            label="Your Email Address"
            value={value}
            onChangeText={onChange}
            onBlur={onBlur}
          />
        )} 
      />

      <Button
        label="Submit"
        onPress={form.handleSubmit((item) => console.log(item))}
      />
    </SafeAreaView>
  )
}

export default Main

Package Sidebar

Install

npm i @lextdev/form

Weekly Downloads

1

Version

0.0.17

License

none

Unpacked Size

1.16 MB

Total Files

18

Last publish

Collaborators

  • ynssenem