<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: vidvatek</title>
    <description>The latest articles on DEV Community by vidvatek (@vidvatek).</description>
    <link>https://dev.to/vidvatek</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1118296%2F049b6879-4778-4c83-babc-3acee227aed7.png</url>
      <title>DEV Community: vidvatek</title>
      <link>https://dev.to/vidvatek</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vidvatek"/>
    <language>en</language>
    <item>
      <title>How to Add Days in Date in React Native Calendar</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Thu, 25 Apr 2024 14:13:32 +0000</pubDate>
      <link>https://dev.to/vidvatek/how-to-add-days-in-date-in-react-native-calendar-3m6d</link>
      <guid>https://dev.to/vidvatek/how-to-add-days-in-date-in-react-native-calendar-3m6d</guid>
      <description>&lt;p&gt;Hey developers! Ever wondered how to manipulate dates in a React Native calendar? In this guide, we'll explore the step-by-step process of adding days to a date. Get ready to elevate your app's date-handling capabilities!&lt;/p&gt;

&lt;p&gt;In this article, we'll learn about adding days to date in react native using moment js. In the moment js calendar, you can add a custom day to date in react native.&lt;/p&gt;

&lt;p&gt;So, let's see how to create a custom calendar in react native, react native adds days to the calendar.&lt;/p&gt;

&lt;p&gt;Here's a step-by-step guide on how to add days to a date in a React Native calendar:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 1: Set Up Your React Native Project&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ensure that you have a React Native project set up. You can use Expo or React Native CLI for this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;expo init MomentJSCalendar
cd MomentJSCalendar
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 2: Install Moment.js&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Install Moment.js using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install moment
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 3: Add a Date Manipulation Function in App.js&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Add a function to manipulate the date by adding days.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React,{useState} from 'react';
import { StyleSheet, Text, View} from 'react-native';
import moment from 'moment'

export default function App() {
    return (
      &amp;lt;View style={styles.container}&amp;gt;
        &amp;lt;Text style={styles.date}&amp;gt;{moment().add(1, 'days').calendar() }&amp;lt;/Text&amp;gt;
      &amp;lt;/View&amp;gt;
    );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  },

  text: {
    fontSize: 24,
  },

  date: {
    fontSize: 24,
    fontWeight: 'bold',
    padding: 15
  }

});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 4: Run Your Expo App&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Run your Expo app using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;expo start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Conclusion:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And there you have it! Adding days to a date in your React Native calendar is a breeze. Now, you learn about how to add days to date in the moment js calendar in React JS.&lt;/p&gt;

&lt;p&gt;Keep coding, and may your calendars always stay up-to-date and user-friendly!&lt;/p&gt;




&lt;p&gt;You might also like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://vidvatek.com/post/how-to-create-moment-js-calendar-in-react-native"&gt;Read Also: How to Create Moment JS Calendar in React Native&lt;br&gt;
&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>date</category>
      <category>reactnative</category>
      <category>calendar</category>
    </item>
    <item>
      <title>How to Create Moment JS Calendar in React Native</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Mon, 01 Apr 2024 14:11:50 +0000</pubDate>
      <link>https://dev.to/vidvatek/how-to-create-moment-js-calendar-in-react-native-9fl</link>
      <guid>https://dev.to/vidvatek/how-to-create-moment-js-calendar-in-react-native-9fl</guid>
      <description>&lt;p&gt;Hey there, fellow developers! Today, we're diving into the world of React Native and Moment.js to create a dynamic and user-friendly calendar for your Expo projects. &lt;/p&gt;

&lt;p&gt;Whether you're building a scheduling app or just want to display dates with finesse, this step-by-step guide has got you covered.&lt;/p&gt;

&lt;p&gt;In this tutorial, We'll see how to create a Moment JS calendar react native with a step-by-step guide. And how to import Moment JS in the React Native Application.&lt;/p&gt;

&lt;p&gt;Let's get started on crafting a sleek and functional calendar that'll elevate your React Native skills!&lt;/p&gt;

&lt;p&gt;Creating a calendar using Moment.js in React Native with Expo involves a few steps. Here's a step-by-step guide for you:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 1: Set Up Your Expo Project&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ensure you have Expo CLI installed. If not, install it using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g expo-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a new Expo project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;expo init MomentJSCalendar
cd MomentJSCalendar
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 2: Install Moment.js&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Install Moment.js using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install moment
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 3: Create Calendar Component&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Create a new component for your calendar (e.g., CalendarComponent.js):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';
import { View, Text } from 'react-native';
import moment from 'moment';

const CalendarComponent = () =&amp;gt; {
  return (
    &amp;lt;View style={styles.container}&amp;gt;
        &amp;lt;Text style={styles.date}&amp;gt;{moment().calendar() }&amp;lt;/Text&amp;gt;
    &amp;lt;/View&amp;gt;
  );
};

const styles = StyleSheet.create({
  container: {
    padding: 16,
    backgroundColor: '#fff',
    borderRadius: 8,
    shadowColor: '#000',
    shadowOffset: { width: 0, height: 2 },
    shadowOpacity: 0.3,
    shadowRadius: 2,
    elevation: 4,
  },
});

export default CalendarComponent;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 4: Use Calendar Component&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Use the CalendarComponent in your main file (e.g., App.js):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';
import { StyleSheet, View } from 'react-native';
import CalendarComponent from './CalendarComponent';

export default function App() {
  return (
    &amp;lt;View style={styles.container}&amp;gt;
      &amp;lt;CalendarComponent /&amp;gt;
    &amp;lt;/View&amp;gt;
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  },
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 5: Run Your Expo App&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Run your Expo app using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;expo start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Conclusion:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that's a wrap, folks! We've journeyed through integrating Moment.js into React Native with Expo to fashion a calendar that suits your app's needs. &lt;/p&gt;

&lt;p&gt;From the basics of setup to displaying the current month.&lt;/p&gt;

&lt;p&gt;Now, you learn how to import moment in react native, and how to create a calendar in react native using moment js.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;




&lt;p&gt;You might also like:&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;&lt;a href="https://vidvatek.com/post/how-to-validate-form-in-react-js"&gt;Read Also: How To Validate Form in React JS&lt;/a&gt;&lt;/strong&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;&lt;a href="https://vidvatek.com/post/how-to-create-autocomplete-search-in-react"&gt;Read Also: How to Create Autocomplete Search in React&lt;/a&gt;&lt;/strong&gt;
&lt;/h4&gt;

</description>
      <category>reactnative</category>
      <category>react</category>
      <category>momentjs</category>
      <category>calendar</category>
    </item>
    <item>
      <title>10 Digit Mobile Number Validation in Angular 17</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Sat, 09 Dec 2023 05:16:44 +0000</pubDate>
      <link>https://dev.to/vidvatek/10-digit-mobile-number-validation-in-angular-17-1kkh</link>
      <guid>https://dev.to/vidvatek/10-digit-mobile-number-validation-in-angular-17-1kkh</guid>
      <description>&lt;p&gt;Hey there! Ever wondered how to effortlessly validate 10-digit mobile numbers in Angular 17? In this guide, I'll walk you through the simple steps to ensure data accuracy and enhance your user interactions.&lt;/p&gt;

&lt;p&gt;Let's dive into the world of Angular 17 and make mobile number validation a breeze.&lt;/p&gt;

&lt;p&gt;Also, I'll give you information about angular 17 mobile number validation using regular expression and how to validate 10 digit phone numbers in angular 16/17.&lt;/p&gt;

&lt;p&gt;Here's a step-by-step guide with code snippets on how to implement 10-digit mobile number validation in Angular 17:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 1: Set Up Your Angular 17 Project&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Begin by creating a new Angular 17 project using the Angular CLI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Create a new Angular project
ng new angular-mobile-validation

# Navigate to the project folder
cd angular-mobile-validation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 2: Create a Mobile Number Validation Component&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Build a new Angular component specifically for mobile number validation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Generate a new component for mobile number validation
ng generate component mobile-validation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 3: Implement the Validation Logic&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Update the mobile-validation.component.html file with the input field and validation logic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="container"&amp;gt;
    &amp;lt;h1&amp;gt;Angular phone number validation using regex - Vidvatek&amp;lt;/h1&amp;gt;

    &amp;lt;form [formGroup]="form" (ngSubmit)="submit()"&amp;gt;

        &amp;lt;div class="form-group"&amp;gt;
            &amp;lt;label for="mobileNumber"&amp;gt;Mobile Number&amp;lt;/label&amp;gt;
            &amp;lt;input 
                formControlName="mobileNumber"
                id="mobileNumber" 
                type="text" 
                class="form-control"&amp;gt;
            &amp;lt;div *ngIf="f.mobileNumber.touched &amp;amp;&amp;amp; f.mobileNumber.invalid" class="alert alert-danger"&amp;gt;
                &amp;lt;div *ngIf="f.mobileNumber.errors.required"&amp;gt;Mobile Number is required.&amp;lt;/div&amp;gt;
                &amp;lt;div *ngIf="f.mobileNumber.errors.pattern"&amp;gt;Please enter a valid 10-digit mobile number.&amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;button class="btn btn-primary" type="submit" [disabled]="!form.valid"&amp;gt;Submit&amp;lt;/button&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Update the mobile-validation.component.ts file with the logic to handle user input:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Component } from '@angular/core';
import { FormBuilder, FormGroup, FormControl, Validators} from '@angular/forms';

@Component({
  selector: 'app-mobile-validation',
  templateUrl: './mobile-validation.component.html',
  styleUrls: ['./mobile-validation.component.css']
})
export class MobileValidationComponent {
  form: FormGroup = new FormGroup({});

  constructor(private fb: FormBuilder) {
    this.form = fb.group({
      mobileNumber: ['', [Validators.required, Validators.pattern("^((\\+91-?)|0)?[0-9]{10}$")]]
    })
  }

  get f(){
    return this.form.controls;
  }

  submit(){
    console.log(this.form.value);
  }

}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 4: Display Validation Messages&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Update the styles in the mobile-validation.component.css file for better presentation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* mobile-validation.component.css */

div {
  margin-bottom: 15px;
}

input {
  padding: 8px;
  width: 200px;
}

div &amp;gt; div {
  color: red;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 5: Test and Refine&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Test your Angular app by serving it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ng serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Congratulations! You've successfully implemented 10-digit mobile number validation in Angular 17.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Conclusion&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In conclusion, implementing 10-digit mobile number validation in Angular 17 is a straightforward process that enhances user data accuracy.&lt;/p&gt;

&lt;p&gt;With clear validation messages and a user-friendly interface, this guide empowers you to create a seamless experience for your application users.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

</description>
      <category>angular</category>
      <category>javascript</category>
      <category>validation</category>
      <category>mobile</category>
    </item>
    <item>
      <title>How to Create Autocomplete Select Options Angular 17</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Sat, 09 Dec 2023 05:13:50 +0000</pubDate>
      <link>https://dev.to/vidvatek/how-to-create-autocomplete-select-options-angular-17-4og0</link>
      <guid>https://dev.to/vidvatek/how-to-create-autocomplete-select-options-angular-17-4og0</guid>
      <description>&lt;p&gt;Hey everyone! Ever wanted to spruce up your Angular app with an Autocomplete Select feature? I've got you covered! In this guide, I'll walk you through the simple steps to create dynamic and responsive select options in Angular 17.&lt;/p&gt;

&lt;p&gt;In this example, you'll explore the Angular Material Autocomplete change event. This post provides a straightforward illustration of Angular Material Autocomplete select events, offering a step-by-step explanation. We will delve into using Angular Material Autocomplete click events.&lt;/p&gt;

&lt;p&gt;You can effortlessly apply Material Autocomplete on the change event across various Angular versions, including Angular 14, Angular 15, Angular 16, and Angular 17.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 1: Set Up Your Angular 17 Project&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Begin by creating a new Angular 17 project using the Angular CLI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ng new angular-autocomplete-select
cd angular-autocomplete-select
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 2: Install Angular Material&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, in this step, we simply need to install the Material Design theme in our Angular application. Let's proceed by adding it as shown below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ng add @angular/material

Installing packages for tooling via npm.

? Choose a prebuilt theme name, or "custom" for a custom theme: Indigo/Pink     

   [ Preview: https://material.angular.io?theme=indigo-pink ]

? Set up global Angular Material typography styles? Yes

? Set up browser animations for Angular Material? Yes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 3: Create Autocomplete Component&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Build a new Angular component specifically for the autocomplete select option.&lt;/p&gt;

&lt;p&gt;src/app/app.module.ts&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent } from './app.component';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';

import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';

import {MatAutocompleteModule} from '@angular/material/autocomplete';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports:      [
    BrowserModule, 
    BrowserAnimationsModule,
    MatFormFieldModule,
    MatInputModule,
    MatAutocompleteModule,
    FormsModule,
    ReactiveFormsModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;src/app/app.component.html&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h1&amp;gt;How to Create Autocomplete Select Options Angular 17 - Vidvatek&amp;lt;/h1&amp;gt;

&amp;lt;form class="example-form"&amp;gt;
  &amp;lt;mat-form-field&amp;gt;
     &amp;lt;input 
        type="text" 
        placeholder="Enter Location" 
        [formControl]="myControl"
        matInput
          [matAutocomplete]="auto"&amp;gt;
      &amp;lt;mat-autocomplete #auto="matAutocomplete"&amp;gt;
          &amp;lt;mat-option 
            *ngFor="let option of filteredOptions | async" 
            [value]="option"
            (onSelectionChange)="onSelFunc(option)"&amp;gt;
            {{option}}
         &amp;lt;/mat-option&amp;gt;
     &amp;lt;/mat-autocomplete&amp;gt;
  &amp;lt;/mat-form-field&amp;gt;
&amp;lt;/form&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;src/app/app.component.ts&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Component, OnInit } from '@angular/core';
import {Observable} from 'rxjs';
import {map, startWith} from 'rxjs/operators';
import {FormControl} from '@angular/forms';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

export class AppComponent implements OnInit {
    title = 'my-app';
    myControl = new FormControl();
    options: string[] = [
        "Audi",
        "BMW",
        "Chevrolet",
        "Ford",
        "Honda",
        "Mercedes",
        "Nissan",
        "Toyota",
    ];
    filteredOptions: Observable;


    ngOnInit() {
      this.filteredOptions = this.myControl.valueChanges
        .pipe(
          startWith(''),
          map(value =&amp;gt; this._filter(value))
        );
    }

    private _filter(value: string): string[] {
      const filterValue = value.toLowerCase();

      return this.options.filter(option =&amp;gt; option.toLowerCase().includes(filterValue));
    }

    onSelFunc(option){
      console.log(option);
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 4: Test and Refine&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Test your Angular app by serving it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ng serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Conclusion:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In wrapping up, creating Autocomplete Select options in Angular 17 was a breeze! Now, users can effortlessly navigate and select options, improving the overall user experience of my application.&lt;/p&gt;

&lt;p&gt;Angular Material makes it simple, and the dynamic responsiveness adds a touch of elegance to the interface.&lt;/p&gt;

&lt;p&gt;Cheers to an enhanced UI!&lt;/p&gt;

</description>
      <category>angular</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to Create Icon Button with Text in React Native</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Sat, 09 Dec 2023 05:10:06 +0000</pubDate>
      <link>https://dev.to/vidvatek/how-to-create-icon-button-with-text-in-react-native-106l</link>
      <guid>https://dev.to/vidvatek/how-to-create-icon-button-with-text-in-react-native-106l</guid>
      <description>&lt;p&gt;Hey there! In this tutorial, I'll walk you through the process of crafting stylish and interactive icon buttons with accompanying text in React Native. &lt;/p&gt;

&lt;p&gt;We'll delve into the intricacies of combining icons and text to create a more engaging user experience for your mobile apps.&lt;/p&gt;

&lt;p&gt;This tutorial focuses on demonstrating how to create stylish and functional custom buttons with both icons and text in React Native. &lt;/p&gt;

&lt;p&gt;By the end of this article, you'll have a clear understanding of implementing how to create icon buttons with text in react native and react native button styles.&lt;/p&gt;

&lt;p&gt;Let's dive into the step-by-step process of creating and styling the React native button with icons and text.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 1: Set Up Your React Native Project&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ensure that you have a React Native project set up using either Expo or React Native CLI. You can use the following command for React Native CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;expo init IconButtonExample
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 2: Install Dependencies&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For this example, we'll use React Native Vector Icons for the icon. Install these packages using npm or yarn:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# For React Native Vector Icons
npm install react-native-vector-icons
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 3: Import Necessary Components&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In your component file (e.g., App.js), import the required components:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';
import { StyleSheet, Text, View, TouchableOpacity} from 'react-native';
import FontAwesome from 'react-native-vector-icons/FontAwesome';

export default function App() {
    return (
      &amp;lt;View style={styles.container}&amp;gt;
        &amp;lt;TouchableOpacity
          style={{ 
            backgroundColor:'red',
            borderWidth:1,
            padding:10,
            borderColor:'red'
          }}
        &amp;gt;
        &amp;lt;Text style={{ color:'white', fontSize:17,fontWeight: '400' }}&amp;gt;&amp;lt;FontAwesome name='trash-o' size={20} color='white'/&amp;gt; Delete&amp;lt;/Text&amp;gt;
        &amp;lt;/TouchableOpacity&amp;gt;
      &amp;lt;/View&amp;gt;
    );
}

const styles = StyleSheet.create({
  container: {
    flex:1,
    backgroundColor: '#fff',
    justifyContent: 'center',
    alignItems:'center'
  },
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 4: Run Your React Native App&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Run your app using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;expo start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, you should have a basic icon button with text in your React Native app.&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
      <category>css</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How To Export CSV File In Laravel 10 Example</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Mon, 30 Oct 2023 16:00:47 +0000</pubDate>
      <link>https://dev.to/vidvatek/how-to-export-csv-file-in-laravel-10-example-gba</link>
      <guid>https://dev.to/vidvatek/how-to-export-csv-file-in-laravel-10-example-gba</guid>
      <description>&lt;p&gt;In the modern world of web development, data is the lifeblood of many applications. As a Laravel developer, I often need to provide users with a way to export data from my Laravel applications for further analysis, reporting, or sharing with other systems. That's where the Comma-Separated Values (CSV) format comes in handy.&lt;/p&gt;

&lt;p&gt;In this article, I will delve into the process of exporting CSV files in Laravel 10, a powerful PHP framework known for its simplicity and elegance.&lt;/p&gt;

&lt;p&gt;Together, we will explore the necessary steps to export data from our Laravel application to a CSV file, giving us the ability to effortlessly generate and deliver structured data in a universally accepted format.&lt;/p&gt;

&lt;p&gt;Throughout this tutorial, I will cover essential concepts and practical examples to help us grasp the underlying mechanisms of CSV exportation in Laravel.&lt;/p&gt;

&lt;p&gt;Whether you are a seasoned Laravel developer like me or just starting your journey with the framework, this guide will equip you with the knowledge and skills to implement CSV exporting functionality efficiently.&lt;/p&gt;

&lt;p&gt;let's dive in together and learn how to export CSV files from our Laravel application step by step.&lt;/p&gt;

&lt;p&gt;Step 1: Setup Laravel 10&lt;/p&gt;

&lt;p&gt;Ensure you have a Laravel 10 project set up and ready for export CSV files. If you haven't created a Laravel project yet, you can use the following command to create one.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer create-project --prefer-dist laravel/laravel export_csv_file_example
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 2: Create a route for CSV export&lt;/p&gt;

&lt;p&gt;Next, let's define a route in Laravel to handle the CSV export functionality. Open the routes/web.php file and add the following code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use App\Http\Controllers\CSVExportController;

Route::get('/export-csv', [CSVExportController::class, 'export'])-&amp;gt;name('export.csv');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 3: Create a CSVExportController&lt;/p&gt;

&lt;p&gt;Now, let's create a new controller to handle the CSV export logic. Run the following command in your terminal to generate the controller.&lt;/p&gt;

&lt;p&gt;php artisan make:controller CSVExportController&lt;br&gt;
Open the newly created CSVExportController.php file.&lt;/p&gt;

&lt;p&gt;app/Http/Controllers directory and replace its content with the following code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
use App\Models\Task;

class CSVExportController extends Controller
{
    public function export()
    {
        $fileName = 'tasks.csv';
        $tasks = Task::all();

        $headers = array(
            "Content-type"        =&amp;gt; "text/csv",
            "Content-Disposition" =&amp;gt; "attachment; filename=$fileName",
            "Pragma"              =&amp;gt; "no-cache",
            "Cache-Control"       =&amp;gt; "must-revalidate, post-check=0, pre-check=0",
            "Expires"             =&amp;gt; "0"
        );

        $columns = array('Title', 'Description', 'Start Date', 'Due Date');

        $callback = function() use($tasks, $columns) {
            $file = fopen('php://output', 'w');
            fputcsv($file, $columns);

            foreach ($tasks as $task) {
                $row['Title']  = $task-&amp;gt;title;
                $row['Description']    = $task-&amp;gt;description;
                $row['Start Date']  = $task-&amp;gt;start_at;
                $row['Due Date']  = $task-&amp;gt;end_at;

                fputcsv($file, array($row['Title'], $row['Description'], $row['Start Date'], $row['Due Date']));
            }

            fclose($file);
        };

        return response()-&amp;gt;stream($callback, 200, $headers);

    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 3: Create a Blade File&lt;/p&gt;

&lt;p&gt;Add an export button link in your blade file from where you want to export your data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;span data-href="/export-csv" id="export" class="btn btn-success btn-sm" onclick ="exportTasks(event.target);"&amp;gt;Export&amp;lt;/span&amp;gt;
Now, add the below script after the body tag.

&amp;lt;script&amp;gt;
   function exportTasks(_this) {
      let _url = $(_this).data('href');
      window.location.href = _url;
   }
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 4: Run Laravel 10 Application&lt;br&gt;
Now, start your Laravel development server by running the command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 5: Conclusion&lt;/p&gt;

&lt;p&gt;In this comprehensive guide, we explored the process of exporting CSV files in Laravel 10. &lt;/p&gt;

&lt;p&gt;By following the step-by-step example, we learned how to generate CSV files from our Laravel application and provide users with the ability to download structured data in a universally accepted format.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>export</category>
      <category>csv</category>
    </item>
    <item>
      <title>How To Add Export Button In Datatable</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Tue, 10 Oct 2023 16:29:59 +0000</pubDate>
      <link>https://dev.to/vidvatek/how-to-add-export-button-in-datatable-3d0g</link>
      <guid>https://dev.to/vidvatek/how-to-add-export-button-in-datatable-3d0g</guid>
      <description>&lt;p&gt;In this article, we will explore a practical example of how to add export buttons to a DataTable in Laravel. If you need to export data from your DataTable to formats such as Excel, PDF, or CSV, incorporating export buttons is essential.&lt;/p&gt;

&lt;p&gt;To achieve this functionality, DataTables offers the DataTable Buttons plugin, which enables you to seamlessly add export buttons to your DataTable. Once implemented, these buttons allow users to export the DataTable's data to various file formats, copy the data in HTML format, and perform other export-related actions.&lt;/p&gt;

&lt;p&gt;Throughout this guide, we will demonstrate how to integrate the export buttons into your Laravel DataTable.&lt;/p&gt;

&lt;p&gt;By following the step-by-step instructions, you'll be able to enhance your application's data export capabilities and empower users to efficiently export data for analysis, reporting, or collaboration.&lt;/p&gt;

&lt;p&gt;We'll specifically focus on utilizing the DataTable Buttons plugin, which provides four HTML5 export buttons: copyHtml5, csvHtml5, excelHtml5, and pdfHtml5.&lt;/p&gt;

&lt;p&gt;These buttons enable users to copy the DataTable data in HTML format or export it to CSV, Excel, or PDF files with just a single click.&lt;/p&gt;

&lt;p&gt;Whether you're an experienced Laravel developer or just starting with DataTables, this guide will help you effortlessly add export buttons to your DataTable, providing an enhanced user experience and streamlining the data export process.&lt;/p&gt;

&lt;p&gt;So, if you're ready to expand the data export capabilities of your Laravel DataTable and empower your users, let's delve into the step-by-step process of integrating export buttons and unlock the potential of data exportation together.&lt;/p&gt;

&lt;p&gt;You need to simply add the below javascript cdn to add the export button in datatable.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://code.jquery.com/jquery-3.5.1.js

https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js

https://cdn.datatables.net/buttons/1.6.2/js/dataTables.buttons.min.js

https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js

https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js

https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js

https://cdn.datatables.net/buttons/1.6.2/js/buttons.html5.min.js
And also add the following CSS library files are loaded for use in this example to provide the styling of the table.

https://cdn.datatables.net/1.10.21/css/jquery.dataTables.min.css

https://cdn.datatables.net/buttons/1.6.2/css/buttons.dataTables.min.css
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add the below HTML code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;table id="example" class="display" style="width:100%"&amp;gt;
        &amp;lt;thead&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Position&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Office&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Age&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Start date&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Salary&amp;lt;/th&amp;gt;
            &amp;lt;/tr&amp;gt;
        &amp;lt;/thead&amp;gt;
        &amp;lt;tbody&amp;gt;            
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Colleen Hurst&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Javascript Developer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;San Francisco&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;39&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2009-09-15&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$205,500&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Sonya Frost&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Software Engineer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Edinburgh&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;23&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2008-12-13&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$103,600&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Jena Gaines&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Office Manager&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;30&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2008-12-19&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$90,560&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Quinn Flynn&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Support Lead&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Edinburgh&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;22&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2013-03-03&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$342,000&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Charde Marshall&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Regional Director&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;San Francisco&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;36&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2008-10-16&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$470,600&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Haley Kennedy&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Senior Marketing Designer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;43&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2012-12-18&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$313,500&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Tatyana Fitzpatrick&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Regional Director&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;19&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2010-03-17&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$385,750&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Michael Silva&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Marketing Designer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;66&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2012-11-27&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$198,500&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;            
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Caesar Vance&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Pre-Sales Support&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;New York&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;21&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-12-12&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$106,450&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Doris Wilder&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Sales Assistant&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Sydney&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;23&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2010-09-20&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$85,600&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Angelica Ramos&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Chief Executive Officer (CEO)&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;47&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2009-10-09&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$1,200,000&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Gavin Joyce&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Developer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Edinburgh&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;42&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2010-12-22&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$92,575&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Jennifer Chang&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Regional Director&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Singapore&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;28&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2010-11-14&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$357,650&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Brenden Wagner&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Software Engineer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;San Francisco&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;28&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-06-07&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$206,850&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Fiona Green&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Chief Operating Officer (COO)&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;San Francisco&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2010-03-11&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$850,000&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Shou Itou&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Regional Marketing&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Tokyo&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;20&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-08-14&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$163,000&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Michelle House&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Integration Specialist&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Sydney&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;37&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-06-02&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$95,400&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Suki Burks&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Developer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;53&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2009-10-22&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$114,500&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Prescott Bartlett&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Technical Author&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;27&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-05-07&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$145,000&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Gavin Cortez&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Team Leader&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;San Francisco&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;22&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2008-10-26&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$235,500&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Martena Mccray&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Post-Sales support&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Edinburgh&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;46&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-03-09&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$324,050&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Unity Butler&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Marketing Designer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;San Francisco&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;47&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2009-12-09&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$85,675&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;           
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Timothy Mooney&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Office Manager&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;37&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2008-12-11&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$136,200&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Jackson Bradshaw&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Director&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;New York&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;65&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2008-09-26&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$645,750&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Olivia Liang&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Support Engineer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Singapore&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-02-03&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$234,500&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Bruno Nash&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Software Engineer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;38&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-05-03&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$163,500&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Sakura Yamamoto&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Support Engineer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Tokyo&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;37&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2009-08-19&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$139,575&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Thor Walton&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Developer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;New York&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;61&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2013-08-11&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$98,540&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Finn Camacho&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Support Engineer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;San Francisco&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;47&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2009-07-07&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$87,500&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Serge Baldwin&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Data Coordinator&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Singapore&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2012-04-09&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$138,575&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Zenaida Frank&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Software Engineer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;New York&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;63&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2010-01-04&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$125,250&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Zorita Serrano&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Software Engineer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;San Francisco&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;56&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2012-06-01&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$115,000&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Jennifer Acosta&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Junior Javascript Developer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Edinburgh&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;43&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2013-02-01&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$75,650&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Cara Stevens&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Sales Assistant&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;New York&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;46&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-12-06&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$145,600&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Hermione Butler&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Regional Director&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;47&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-03-21&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$356,250&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Lael Greer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Systems Administrator&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;London&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;21&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2009-02-27&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$103,500&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Jonas Alexander&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Developer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;San Francisco&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;30&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2010-07-14&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$86,500&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Shad Decker&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Regional Director&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Edinburgh&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;51&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2008-11-13&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$183,000&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Michael Bruce&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Javascript Developer&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Singapore&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;29&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-06-27&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$183,000&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;Donna Snider&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;Customer Support&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;New York&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;27&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;2011-01-25&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;$112,000&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
        &amp;lt;/tbody&amp;gt;
        &amp;lt;tfoot&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Position&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Office&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Age&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Start date&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Salary&amp;lt;/th&amp;gt;
            &amp;lt;/tr&amp;gt;
        &amp;lt;/tfoot&amp;gt;
    &amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add the below javascript code in your script tag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$(document).ready(function() {
    $('#export_example').DataTable( {
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5'
        ]
    } );
} );
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>laravel</category>
      <category>php</category>
      <category>export</category>
      <category>datatable</category>
    </item>
    <item>
      <title>How To Integrate Paypal Payment Gateway In Laravel 10</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Mon, 25 Sep 2023 04:19:19 +0000</pubDate>
      <link>https://dev.to/vidvatek/how-to-integrate-paypal-payment-gateway-in-laravel-10-fil</link>
      <guid>https://dev.to/vidvatek/how-to-integrate-paypal-payment-gateway-in-laravel-10-fil</guid>
      <description>&lt;p&gt;As a Laravel 10 developer, I understand the importance of providing a secure and user-friendly payment experience for online businesses. &lt;/p&gt;

&lt;p&gt;That's why integrating a reliable payment gateway like PayPal into your Laravel 10 application can be a game-changer. &lt;/p&gt;

&lt;p&gt;If you're looking to integrate PayPal into your Laravel 10 project, you're in the right place.&lt;/p&gt;

&lt;p&gt;In this comprehensive guide, I will walk you through the step-by-step process of integrating the PayPal payment gateway into your Laravel 10 application. &lt;/p&gt;

&lt;p&gt;Together, we'll cover all the necessary steps, from setting up a PayPal Business account to implementing the payment functionality within your Laravel codebase.&lt;/p&gt;

&lt;p&gt;By the end of this tutorial, you'll have a solid understanding of how to harness the power of Laravel's features and seamlessly integrate PayPal's API for secure and efficient payment processing in your application.&lt;/p&gt;

&lt;p&gt;PayPal is an American company operating a worldwide online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.&lt;/p&gt;

&lt;p&gt;So, let's dive right in and discover the incredible potential of PayPal integration in Laravel 10.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>paypal</category>
      <category>integration</category>
    </item>
    <item>
      <title>Laravel 10 Send Mail Using Queue</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Fri, 22 Sep 2023 05:26:13 +0000</pubDate>
      <link>https://dev.to/vidvatek/laravel-10-send-mail-using-queue-531l</link>
      <guid>https://dev.to/vidvatek/laravel-10-send-mail-using-queue-531l</guid>
      <description>&lt;p&gt;As a Laravel developer, one of the common requirements is sending emails from your application. However, processing email sending synchronously can impact the performance and responsiveness of your application, especially when dealing with large volumes of emails.&lt;/p&gt;

&lt;p&gt;That's where Laravel's powerful feature called queues comes to the rescue. In this article, I will guide you through the process of leveraging queues in Laravel 10 to send emails asynchronously, resulting in improved performance and an enhanced user experience.&lt;/p&gt;

&lt;p&gt;In laravel 10 send mail using a queue example we will set up the mailtrap for sending an email. Laravel queues provide a unified queueing API across a variety of different queue backends, such as Amazon SQS, Redis, or even a relational database.&lt;/p&gt;

&lt;p&gt;Table of content:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install Laravel 10&lt;/li&gt;
&lt;li&gt;Creating a Mailable Class&lt;/li&gt;
&lt;li&gt;Configuration of Queue&lt;/li&gt;
&lt;li&gt;Create Queue Job&lt;/li&gt;
&lt;li&gt;Dispatching Mail Jobs to the Queue&lt;/li&gt;
&lt;li&gt;Processing the Queue Jobs&lt;/li&gt;
&lt;li&gt;Run Laravel 10 Application&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>mail</category>
      <category>queue</category>
    </item>
    <item>
      <title>How To Validate Form in React JS</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Thu, 14 Sep 2023 04:27:22 +0000</pubDate>
      <link>https://dev.to/vidvatek/how-to-validate-form-in-react-js-4hbl</link>
      <guid>https://dev.to/vidvatek/how-to-validate-form-in-react-js-4hbl</guid>
      <description>&lt;p&gt;Are you ready to enhance your React.js skills by mastering the art of form validation in your web applications? Look no further! In this step-by-step guide, I will walk you through the process of implementing form validation in a React.js app.&lt;/p&gt;

&lt;p&gt;We will cover essential form fields like Name, Email, Password, and Confirm Password, ensuring that the user-submitted data meets the required criteria.&lt;/p&gt;

&lt;p&gt;Form validation plays a crucial role in creating user-friendly and error-free web forms. By validating user input, we can provide real-time feedback, improve data accuracy, and enhance the overall user experience.&lt;/p&gt;

&lt;p&gt;Throughout this tutorial, we will explore how to create a React.js app, set up form fields, implement validation logic, and handle user interactions effectively.&lt;/p&gt;

&lt;p&gt;To get started, make sure you have a basic understanding of React.js and JavaScript. Additionally, ensure that you have a React.js project set up on your machine.&lt;/p&gt;

&lt;p&gt;With these prerequisites in place, we can dive into the exciting world of form validation in React.js!&lt;/p&gt;

&lt;p&gt;So, let's embark on this journey together, empowering our web applications with robust form validation techniques. Get ready to take your React.js skills to the next level as we create dynamic and error-free forms.&lt;/p&gt;

&lt;p&gt;Let's begin our exploration of form validation in React.js!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 1: Set Up a React.js Project&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Create a new React.js project using create-react-app by executing the following command in your terminal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx create-react-app form-validation-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Navigate to the project directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd form-validation-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 2: Create a Form Component&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Create a new file called Form.js inside the src folder.&lt;/p&gt;

&lt;p&gt;Inside the Form.js file, create a functional component named Form.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';

const Form = () =&amp;gt; {
  return (
    &amp;lt;form&amp;gt;
      {/* Form fields will be added here */}
    &amp;lt;/form&amp;gt;
  );
};

export default Form;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 3: Setting Up Form State and Handling Form Input Changes&lt;br&gt;
Inside the Form component, set up the initial state for the form fields and error messages.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [formData, setFormData] = React.useState({
  name: '',
  email: '',
  password: '',
  confirmPassword: '',
});

const [formErrors, setFormErrors] = React.useState({
  name: '',
  email: '',
  password: '',
  confirmPassword: '',
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a function called handleInputChange to handle input changes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const handleInputChange = (event) =&amp;gt; {
  const { name, value } = event.target;

  setFormData((prevFormData) =&amp;gt; ({
    ...prevFormData,
    [name]: value,
  }));
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 4: Implementing Form Validation&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Add a function called validateForm to perform the form validation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const validateForm = () =&amp;gt; {
  let isValid = true;
  const errors = {};

  // Name validation
  if (formData.name.trim() === '') {
    errors.name = 'Name is required';
    isValid = false;
  }

  // Email validation
  // Use regular expressions or a validation library for a more thorough email validation
  if (formData.email.trim() === '') {
    errors.email = 'Email is required';
    isValid = false;
  }

  // Password validation
  if (formData.password.trim() === '') {
    errors.password = 'Password is required';
    isValid = false;
  }

  // Confirm password validation
  if (formData.confirmPassword.trim() === '') {
    errors.confirmPassword = 'Confirm Password is required';
    isValid = false;
  } else if (formData.password !== formData.confirmPassword) {
    errors.confirmPassword = 'Passwords do not match';
    isValid = false;
  }

  setFormErrors(errors);
  return isValid;
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 5: Handling Form Submission&lt;br&gt;
Create a function called handleSubmit to handle form submission.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const handleSubmit = (event) =&amp;gt; {
  event.preventDefault();

  if (validateForm()) {
    // Form is valid, perform further actions (e.g., submit to a server)
    console.log('Form is valid');
  } else {
    // Form is invalid, display error messages
    console.log('Form is invalid');
  }
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 6: Rendering the Form and Displaying Error Messages&lt;br&gt;
Inside the return statement of the Form component, add the form HTML markup and error messages.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;return (
  &amp;lt;div&amp;gt;
    &amp;lt;form onSubmit={handleSubmit}&amp;gt;
      &amp;lt;div&amp;gt;
        &amp;lt;label&amp;gt;Name:&amp;lt;/label&amp;gt;
        &amp;lt;input
          type="text"
          name="name"
          value={formData.name}
          onChange={handleInputChange}
        /&amp;gt;
        {formErrors.name &amp;amp;&amp;amp; &amp;lt;span className="error"&amp;gt;{formErrors.name}&amp;lt;/span&amp;gt;}
      &amp;lt;/div&amp;gt;
      {/* Repeat the above pattern for other form fields */}
      &amp;lt;button type="submit"&amp;gt;Submit&amp;lt;/button&amp;gt;
    &amp;lt;/form&amp;gt;
  &amp;lt;/div&amp;gt;
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 7: Run the Application&lt;br&gt;
Start the development server by running the following command.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command will start the React development server and launch your application in your default web browser.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Conclusion&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this guide, we walked through the process of validating a form in a React.js application. By following the step-by-step instructions and incorporating the code examples provided, you can now implement form validation with fields like Name, Email, Password, and Confirm Password.&lt;/p&gt;

</description>
      <category>react</category>
      <category>validation</category>
      <category>form</category>
    </item>
    <item>
      <title>Step-by-Step Guide: Installing React.js on Ubuntu</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Wed, 30 Aug 2023 04:17:58 +0000</pubDate>
      <link>https://dev.to/vidvatek/step-by-step-guide-installing-reactjs-on-ubuntu-582e</link>
      <guid>https://dev.to/vidvatek/step-by-step-guide-installing-reactjs-on-ubuntu-582e</guid>
      <description>&lt;p&gt;Are you ready to embark on a journey to install React.js on your Ubuntu machine? Look no further! In this article, we will walk through the step-by-step process of setting up React.js on Ubuntu, ensuring you have all the tools you need to start building powerful and interactive user interfaces.&lt;/p&gt;

&lt;p&gt;React.js is a popular JavaScript library used for building user interfaces. Installing React.js on your Ubuntu machine is a straightforward process that involves setting up Node.js, the npm package manager, and creating a React.js project.&lt;/p&gt;

&lt;p&gt;This article will guide you through each step to help you install React.js on your Ubuntu system.&lt;/p&gt;

&lt;p&gt;React.js has gained immense popularity in the web development community due to its component-based architecture, reusability, and performance optimizations. By installing React.js on your Ubuntu system, you'll gain access to a robust and efficient framework for creating modern web applications.&lt;/p&gt;

&lt;p&gt;Before we dive into the installation process, it's important to have Ubuntu already installed on your machine. Ubuntu is a widely-used Linux distribution known for its user-friendly interface and stability.&lt;/p&gt;

&lt;p&gt;Additionally, a basic familiarity with the command line will come in handy as we navigate through the installation steps.&lt;/p&gt;

&lt;p&gt;Now, let's embark on this React.js installation journey together, as we unleash the power of JavaScript and create engaging and dynamic web experiences. Buckle up, and let's get started!&lt;/p&gt;

&lt;p&gt;Prerequisites: Before proceeding with the installation, make sure you have the following prerequisites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ubuntu is installed on your machine.&lt;/li&gt;
&lt;li&gt;Basic knowledge of the command line.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 1: Install Node.js and npm&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Open the Terminal by pressing Ctrl+Alt+T simultaneously. Update the package list by running the following command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install Node.js and npm by executing the following command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install nodejs npm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Step 2: Check Node.js and npm Installation&lt;br&gt;
To verify if Node.js and npm are installed successfully, run the following commands.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node --version
npm --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you see the versions of Node.js and npm, it means the installation was successful.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 3: Create a React.js Project&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Install the create-react-app package globally using npm by running the command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo npm install -g create-react-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a new directory for your React.js project. For example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir react-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Navigate to the project directory using the following command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd react-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Generate a new React.js project using create-react-app.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx create-react-app my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace "my-app" with the desired name for your project.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Step 4: Run the React.js Development Server&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Move into the project directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start the development server by running the following command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open your web browser. You should see the React.js application running.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;Installing React.js on Ubuntu involves setting up Node.js, the npm package manager, and creating a new React.js project using create-react-app.&lt;/p&gt;

&lt;p&gt;By following the step-by-step guide outlined in this article, you can quickly get started with React.js development on your Ubuntu system.&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>react</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Laravel 10 Import and Export CSV and Excel Files</title>
      <dc:creator>vidvatek</dc:creator>
      <pubDate>Tue, 22 Aug 2023 05:05:06 +0000</pubDate>
      <link>https://dev.to/vidvatek/laravel-10-import-and-export-csv-and-excel-files-2150</link>
      <guid>https://dev.to/vidvatek/laravel-10-import-and-export-csv-and-excel-files-2150</guid>
      <description>&lt;p&gt;In today's data-driven world, as a Laravel developer, the need to import and export data in different file formats is a common requirement for web applications. With the release of Laravel 10, I now have even more capabilities at my disposal when it comes to handling CSV and Excel files.&lt;/p&gt;

&lt;p&gt;These file formats are widely used for data exchange, making it crucial for me to understand how to handle them effectively within my Laravel applications.&lt;/p&gt;

&lt;p&gt;In this article, I will explore the process of importing and exporting CSV and Excel files using Laravel 10. I will walk through the necessary steps and demonstrate how Laravel's features and supporting packages can streamline these tasks.&lt;/p&gt;

&lt;p&gt;By the end of this article, I will have a solid understanding of how to handle CSV and Excel files within my Laravel applications, empowering me to seamlessly import and export data with confidence.&lt;/p&gt;

&lt;p&gt;In particular, I will be leveraging the popular maatwebsite/excel plugin to facilitate the seamless importing and exporting of CSV and Excel files.&lt;/p&gt;

&lt;p&gt;In this article, I will guide you through the process of utilizing Laravel 10 in conjunction with the maatwebsite/excel plugin to handle CSV and Excel files effectively.&lt;/p&gt;

&lt;p&gt;We will explore the necessary steps and demonstrate how this combination of Laravel and the maatwebsite/excel plugin can simplify the import and export processes.&lt;/p&gt;

&lt;p&gt;So, whether I need to import large datasets from external sources or export data for reporting or analysis, the capabilities of Laravel 10 will enable me to accomplish these tasks efficiently and effortlessly.&lt;/p&gt;

&lt;p&gt;Join me as I dive into the power of Laravel 10 for importing and exporting CSV and Excel files.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>import</category>
      <category>csv</category>
      <category>php</category>
    </item>
  </channel>
</rss>
