JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<form action="/contact" method="post">
                <div class="col-dual">
                    <div class="form-row firstName">
                        <label for="firstName" class="label-control required-label">First Name:</label>
                        <p class="form-alert">Enter a valid first name.</p>
                        <input type="text" name="firstName" id="firstName" placeholder="First Name*" required class="form-control required">
                    </div>
                    <div class="form-row lastName">
                        <label for="lastName" class="label-control">Last Name:</label>
                        <p class="form-alert">Enter a valid last name. Example: Smith</p>
                        <input type="text" name="lastName" id="lastName" placeholder="Last Name" class="form-control">
                    </div>
                    <div class="form-row phone">
                        <label for="phone" class="label-control">Phone:</label>
                        <p class="form-alert">Enter a valid phone number. Example: 555 555 5555</p>
                        <input type="tel" name="phone" id="phone" placeholder="Phone" class="form-control">
                    </div>
                    <div class="form-row email ">
                        <label for="email" class="label-control required-label">Email:</label>
                        <p class="form-alert">Enter a valid email. Example: [email protected]</p>
                        <input type="email" name="email" id="email" placeholder="Email*" required class="form-control required">
                    </div>
                </div>
                <div class="col-dual">
                    <div class="form-row">
                        <label for="subject" class="label-control required-label">Subject:</label>
                        <input type="text" name="subject" id="subject"...

CSS

.form {
    float:left;
    width:100%;
}
.form-row {
    float:left;
    width:100%;
    margin:0 0 20px 0;
}
.label-control {
    float:left;
}
.required-label:after {
    float:right;
    margin:3px 0 0 3px;
    content:'\f069';
    color:rgba(245, 0, 0, 1);
    font-family:'FontAwesome';
    font-size:8px;
}
.form-control {
    float:left;
    width:100%;
    max-width:100%;
    padding:9px 9px;
    background-color:rgba(245, 245, 245, 1);
    border:none;
    border-radius:0px;
    box-shadow:inset 0px 0px 2px 1px rgba(0, 0, 0, 0.3);
    color:rgba(68, 68, 68,1);
    font-family:'Open Sans';
    font-size:14px;
    font-weight:500;
    letter-spacing:1px;
    -webkit-appearance:none;
    -webkit-transition:all .2s ease-in-out;
        -ms-transition:all .2s ease-in-out;
            transition:all .2s ease-in-out;
}
.form-control:hover, .form-control:focus, .form-control:active {
    box-shadow:inset 0px 0px 2px 1px rgba(0, 0, 0, 0.3);
}
textarea {
    min-height:175px;
}
input[type=submit] {
    box-shadow:none;
    cursor:pointer;
    letter-spacing:1px;
}
input[type=submit]:disabled {
    opacity:0.5;
    cursor:not-allowed;
}
.form-alert {
    float:left;
    display:none;
    width:100%;
    color:rgba(210, 32, 32, 1);
}

JavaScript

$(document).ready(function() 
{ 
    (function() 
    {
        $('.required').on('keyup change', function() 
        {
        		var requiredFieldsCompleted = true;
            $('.required').each(function() 
            {
                if (this.value == '')
                {
                	requiredFieldsCompleted = false;
                  return false;
                }
            });
            if (requiredFieldsCompleted)
            {
            	$('#submit').removeAttr('disabled');
            	
            }
            else
            {
            	$('#submit').attr('disabled', 'disabled');
            }

        });
    })()

    $('#firstName').on('change', function() 
    {
        var firstName = this.value;
        if (/^[a-zA-Z- ]*$/.test(firstName) == false) 
        {
            $("#firstName").css('border', '1px solid #d22020').val('');
            $('.firstName .form-alert').css('display', 'block');
        }
        else 
        {
            $("#firstName").css('border', 'none');
            $('.firstName .form-alert').css('display', 'none');
        }
    });

    $('#lastName').on('change', function() 
    {
        var lastName = this.value;
        if (/^[a-zA-Z- ]*$/.test(lastName) == false) 
        {
            $("#lastName").css('border', '1px solid #d22020').val('');
            $('.lastName .form-alert').css('display', 'block');
        }
        else 
        {
            $("#lastName").css('border', 'none');
            $('.lastName .form-alert').css('display', 'none');
        }
    });

    $('#phone').on('change', function() 
    {
        var phone = this.value;
        if (this.value !== '') {
            if (!$.isNumeric(phone))
            {
                $("#phone").css('border', '1px solid #d22020').val('');
                $('.phone .form-alert').css('display', 'block');
            }
            else 
            {
                $("#phone").css('border', 'none');
                $('.phone...