JSFiddle - React, Tailwind, and code Playground

HTML

<html>
    <head>
        <script>
        document.addEventListener("DOMContentLoaded", function() {

var darkMode = document.createElement('style');
darkMode.innerHTML = 'body { background-color: #2e2e2e; color: #f2f2f2; }';
document.head.appendChild(darkMode);

var form = document.createElement('form');
form.innerHTML = '<input type="text" name="name" placeholder="Name" required><br>' +
  '<input type="email" name="email" placeholder="Email" required><br>' +
  '<input type="text" name="country" placeholder="Country Code" required><br>' +
  '<input type="tel" name="phone" placeholder="Phone" required><br>' +
  '<input type="checkbox" name="terms" required> I agree with terms and conditions<br>' +
  '<input type="submit" value="Submit">';
document.body.appendChild(form);

var upload = document.createElement('input');
upload.type = 'file';
upload.name = 'upload';
upload.multiple = true;
form.insertBefore(upload, form.firstChild);

form.onsubmit = function(e) {
  e.preventDefault();
  var name = form.name.value;
  var email = form.email.value;
  var country = form.country.value;
  var phone = form.phone.value;
  var terms = form.terms.checked;
  var upload = form.upload.files;
  var error = document.createElement('div');
  error.style.color = 'red';
  if (!name || !email || !country || !phone || !terms || !upload) {
    error.innerHTML = 'Please fill out all fields.';
    form.appendChild(error);
  } else if (isNaN(name)) {
    error.innerHTML = 'Name cannot be a number.';
    form.appendChild(error);
  } else if (upload.length > 0) {
    for (var i = 0; i < upload.length; i++) {
      if (upload[i].type.indexOf('image') > -1) {
        error.innerHTML = 'Images are not allowed.';
        form.appendChild(error);
        break;
      } else if (upload[i].type.indexOf('exe') > -1) {
        error.innerHTML = 'EXE files are not allowed.';
        form.appendChild(error);
        break;
      }
    }
  } else {
    error.innerHTML = 'Form submitted successfully.';
  ...