برنامه نویسی

نحوه تأیید اعتبار آدرس کشتی در ایالات متحده با استفاده از ReactJS

برای تأیید اعتبار یک آدرس حمل و نقل در ایالات متحده با استفاده از React و Google Maps Geocoding API، این مراحل را دنبال کنید:

برای یک کلید Google Maps API ثبت نام کنید:

را نصب کنید @googlemaps/google-maps-services-js بسته:

yarn add @googlemaps/google-maps-services-js

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک مؤلفه React جدید برای فرم اعتبارسنجی آدرس خود ایجاد کنید:

// AddressValidationForm.js
import React, { useState } from 'react';
import { Client } from '@googlemaps/google-maps-services-js';

const AddressValidationForm = () => {
  const [address, setAddress] = useState('');
  const [validationMessage, setValidationMessage] = useState('');

  const validateAddress = async () => {
    const client = new Client();
    try {
      const response = await client.geocode({
        params: {
          address: address,
          components: 'country:US',
          key: 'YOUR_API_KEY',
        },
      });

      if (response.data.status === 'OK') {
        const formattedAddress = response.data.results[0].formatted_address;
        setValidationMessage(`Valid address: ${formattedAddress}`);
      } else {
        setValidationMessage('Invalid address');
      }
    } catch (error) {
      console.error(error);
      setValidationMessage('Error occurred while validating the address');
    }
  };

  return (
    <div>
      <input
        type="text"
        placeholder="Enter address"
        value={address}
        onChange={(e) => setAddress(e.target.value)}
      />
      <button onClick={validateAddress}>Validate Address</button>
      <p>{validationMessage}</p>
    </div>
  );
};

export default AddressValidationForm;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

کلید API را که از Google Cloud Platform دریافت کرده‌اید، جایگزین «YOUR_API_KEY» کنید.

کامپوننت AddressValidationForm را در جزء اصلی React خود وارد کنید و آن را در JSX خود قرار دهید:

import React from 'react';
import AddressValidationForm from './AddressValidationForm';

const App = () => {
  return (
    <div>
      <h1>Address Validation</h1>
      <AddressValidationForm />
    </div>
  );
};

export default App;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون، برنامه React شما دارای یک فرم ساده است که آدرس حمل و نقل در ایالات متحده را با استفاده از Google Maps Geocoding API تأیید می کند.

اگر می خواهید از React + React Hook Form + Zod استفاده کنید:

بسته های مورد نیاز را نصب کنید:

yarn add zod react-hook-form

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک طرح جدید Zod برای اعتبار سنجی آدرس ایجاد کنید:

// validation.js
import { z } from 'zod';

const AddressValidationSchema = z.object({
  street: z.string().nonempty('Street is required'),
  city: z.string().nonempty('City is required'),
  state: z.string().nonempty('State is required'),
  zip: z
    .string()
    .nonempty('Zip code is required')
    .regex(/^\d{5}(-\d{4})?$/, 'Zip code is invalid'),
});

export default AddressValidationSchema;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک مؤلفه React جدید برای فرم اعتبارسنجی آدرس خود ایجاد کنید:

// AddressValidationForm.js
import React from 'react';
import { useForm } from 'react-hook-form';
import { zodResolver } from '@hookform/resolvers/zod';
import AddressValidationSchema from './validation';

const AddressValidationForm = () => {
  const {
    register,
    handleSubmit,
    formState: { errors },
  } = useForm({
    resolver: zodResolver(AddressValidationSchema),
  });

  const onSubmit = (data) => {
    // Perform address validation or submit data
    console.log(data);
  };

  return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <div>
        <label htmlFor="street">Street:</label>
        <input id="street" type="text" {...register('street')} />
        {errors.street && <p>{errors.street.message}</p>}
      </div>

      <div>
        <label htmlFor="city">City:</label>
        <input id="city" type="text" {...register('city')} />
        {errors.city && <p>{errors.city.message}</p>}
      </div>

      <div>
        <label htmlFor="state">State:</label>
        <input id="state" type="text" {...register('state')} />
        {errors.state && <p>{errors.state.message}</p>}
      </div>

      <div>
        <label htmlFor="zip">Zip:</label>
        <input id="zip" type="text" {...register('zip')} />
        {errors.zip && <p>{errors.zip.message}</p>}
      </div>

      <button type="submit">Validate Address</button>
    </form>
  );
};

export default AddressValidationForm;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

کامپوننت AddressValidationForm را در جزء اصلی React خود وارد کنید و آن را در JSX خود قرار دهید:

import React from 'react';
import AddressValidationForm from './AddressValidationForm';

const App = () => {
  return (
    <div>
      <h1>Address Validation</h1>
      <AddressValidationForm />
    </div>
  );
};

export default App;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون، برنامه React شما دارای فرمی است که ورودی کاربر را برای آدرس حمل و نقل با استفاده از طرح Zod و react-hook-form تأیید می کند.

به خاطر داشته باشید که استفاده از Google Maps API ممکن است بسته به استفاده شما هزینه هایی را به همراه داشته باشد. همچنین API های دیگری نیز وجود دارد که می توانید از آنها برای اعتبارسنجی آدرس های حمل و نقل استفاده کنید، مانند USPS Web Tools API، SmartyStreets یا EasyPost. مطمئن شوید که اسناد مربوطه و قیمت آنها را بررسی کنید تا بهترین مناسب برای نیازهای خود را پیدا کنید.

به GDPL هم فکر کنید 😉

مقاله تولید شده توسط ChatGPT (OpenAI) توسط من بررسی شده است 😉

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا