@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

/@lextdev/form/

    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