𝗥𝗲𝗮𝗰𝘁 𝗙𝗼𝗿𝗺 𝗖𝗼𝗺𝗽𝗼𝗻𝗲𝗻𝘁 𝗕𝘂𝗶𝗹𝗱 𝗚𝘂𝗶𝗱𝗲

React-ൽ ഫോമുകൾ നിർമ്മിക്കുമ്പോൾ സ്റ്റേറ്റ് മാനേജ്‌മെന്റ് (state management) വളരെ ശ്രദ്ധയോടെ ചെയ്യേണ്ടതുണ്ട്. ഒരു രജിസ്ട്രേഷൻ ഫോം എങ്ങനെ പൂജ്യത്തിൽ നിന്ന് നിർമ്മിക്കാം എന്ന് ഈ ഗൈഡ് കാണിച്ചുതരുന്നു.

നിങ്ങൾ പ്രധാനമായും നാല് കാര്യങ്ങൾ പഠിക്കും:

• State Management എല്ലാ ഫോം ഫീൽഡുകളും ഒരൊറ്റ സ്റ്റേറ്റ് ഒബ്‌ജക്റ്റിൽ (state object) സൂക്ഷിക്കുക. പേര്, പ്രായം, ഇമെയിൽ, പാസ്‌വേഡ് എന്നിവ ട്രാക്ക് ചെയ്യാൻ useState ഹുക്ക് ഉപയോഗിക്കുക.

• Handling Inputs എല്ലാ ഇൻപുട്ട് മാറ്റങ്ങളും നിയന്ത്രിക്കാൻ ഒരു ഫംഗ്ഷൻ ഉപയോഗിക്കുക. പഴയ ഡാറ്റ സ്പ്രെഡ് (spread) ചെയ്തുകൊണ്ട് പുതിയ ഇൻപുട്ട് പേരിന് അനുസൃതമായ മൂല്യം ചേർത്ത് സ്റ്റേറ്റ് അപ്‌ഡേറ്റ് ചെയ്യാം.

• Form Validation ഫോം സബ്മിറ്റ് ചെയ്യുന്നതിന് മുമ്പ് എല്ലാ ഫീൽഡുകളിലും ഡാറ്റ ഉണ്ടെന്ന് ഉറപ്പുവരുത്തുക. ഏതെങ്കിലും ഫീൽഡ് കാലിയാണെങ്കിൽ ഒരു അലേർട്ട് (alert) കാണിക്കുക.

• Keyboard Support 'Enter' കീക്കായി ഒരു ലിസണർ (listener) ചേർക്കുക. ഇത് ബട്ടണിൽ ക്ലിക്ക് ചെയ്യാതെ തന്നെ ഫോം സബ്മിറ്റ് ചെയ്യാൻ ഉപയോക്താക്കളെ അനുവദിക്കുന്നു.

കോഡ് ഉദാഹരണം:

import { useState } from "react";

function FormValidation() {
  const [userdata, setUserdata] = useState({
    name: "",
    age: "",
    mobile: "",
    email: "",
    dob: "",
    password: ""
  });

  function getdata(e) {
    const { name, value } = e.target;
    setUserdata({
      ...userdata,
      [name]: value
    });
  }

  function validate() {
    const { name, age, mobile, email, dob, password } = userdata;
    if (name && age && mobile && email && dob && password) {
      alert("Submitted successfully");
    } else {
      alert("Please fill all fields");
    }
  }

  function handlekey(e) {
    if (e.key === "Enter") {
      validate();
    }
  }

  return (
    <form onKeyDown={handlekey}>
      <input name="name" onChange={getdata} value={userdata.name} />
      <input name="age" onChange={getdata} value={userdata.age} />
      <input name="mobile" onChange={getdata} value={userdata.mobile} />
      <input name="email" onChange={getdata} value={userdata.email} />
      <input name="dob" onChange={getdata} value={userdata.dob} />
      <input name="password" type="password" onChange={getdata} value={userdata.password} />
      <button type="button" onClick={validate}>Submit</button>
    </form>
  );
}

സ്രോതസ്സ്: https://dev.to/jayashree_a84b6eff7bc414e/react-form-component-blog-explanation-with-code-3enh