اولیه

به نظر خوب میاد!
لطفاً نام را پر کنید
==========
   HTML
==========

<form class="simple-example" action="javascript:void(0);" novalidate>
    <div class="form-row">
        <div class="col-md-12 mb-4">
            <label for="fullName">Full Name</label>
            <input type="text" class="form-control" id="fullName" placeholder="" value="" required>
            <div class="valid-feedback">
                به نظر خوب میاد!
            </div>
            <div class="invalid-feedback">
                لطفاً نام را پر کنید
            </div>
        </div>
    </div>
    <button class="btn btn-primary submit-fn mt-2" type="submit">ارسال فرم</button>
</form>

===============
   Javascript
===============

window.addEventListener('load', function() {
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document.getElementsByClassName('simple-example');
var invalid = $('.simple-example .invalid-feedback');

// Loop over them and prevent submission
var validation = Array.prototype.filter.call(forms, function(form) {
  form.addEventListener('submit', function(event) {
    if (form.checkValidity() === false) {
      event.preventDefault();
      event.stopPropagation();
        invalid.css('display', 'block');
    } else {

        invalid.css('display', 'none');

        form.classList.add('was-validated');
    }
  }, false);
});

}, false);

ایمیل

===============
     HTML
===============

<form class="email" novalidate action="javascript:void(0);">
    <div class="form-row">
        <div class="col-md-12 mb-4">
            <label for="e_mail">Email</label>
            <input type="email" class="form-control" id="e_mail" placeholder="" required>
            <div class="valid-feedback">
                به نظر خوب میاد!
            </div>
            <div class="invalid-feedback">
                لطفا ایمیل را پر کنید
            </div>
        </div>
    </div>
    <button class="btn btn-primary mb-4 mt-2" type="submit">ارسال فرم</button>
</form>
===============
   Javascript
===============

window.addEventListener('load', function() {
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document.getElementsByClassName('email');
var invalid = $('.email .invalid-feedback');

// Loop over them and prevent submission
var validation = Array.prototype.filter.call(forms, function(form) {
  form.addEventListener('submit', function(event) {
    if (form.checkValidity() === false) {
      event.preventDefault();
      event.stopPropagation();
        invalid.css('display', 'block');
    } else {
        invalid.css('display', 'none');
        form.classList.add('was-validated');
    }
  }, false);
});
}, false);

انتخاب

به عنوان مثال بازخورد سفارشی معتبر را انتخاب کنید
لطفاً زمینه را انتخاب کنید
===============
    HTML
===============

<form class="select mt-4" novalidate action="javascript:void(0);">
    <div class="form-row">
        <div class="col-md-12">
            <div id="select_menu" class="form-group mb-4">
                <select class="custom-select" required>
                  <option value="">این منوی انتخاب را باز کنید</option>
                  <option value="1">One</option>
                  <option value="2">Two</option>
                  <option value="3">Three</option>
                </select>
                <div class="valid-feedback">به عنوان مثال بازخورد سفارشی معتبر را انتخاب کنید</div>
                <div class="invalid-feedback">
                    لطفاً زمینه را انتخاب کنید
                </div>
            </div>
        </div>
    </div>
    <button class="btn btn-primary mt-2" type="submit">ارسال فرم</button>
</form>

===============
   Javascript
===============

window.addEventListener('load', function() {
    // Fetch all the forms we want to apply custom Bootstrap validation styles to
    var forms = document.getElementsByClassName('select');
    var invalid = $('.select .invalid-feedback');

    // Loop over them and prevent submission
    var validation = Array.prototype.filter.call(forms, function(form) {
      form.addEventListener('submit', function(event) {
        if (form.checkValidity() === false) {
          event.preventDefault();
          event.stopPropagation();
            invalid.css('display', 'block');
        } else {
            invalid.css('display', 'none');
            form.classList.add('was-validated');
        }
      }, false);
    });
  }, false);

سبک های سفارشی

به نظر خوب میاد!
به نظر خوب میاد!
@
لطفاً یک نام کاربری انتخاب کنید
لطفاً یک شهر معتبر تهیه کنید.
لطفاً یک کشور معتبر ارائه دهید.
لطفاً یک کدپستی معتبر وارد کنید.
قبل از ارسال باید موافقت کنید
===============
     HTML
===============

<form class="needs-validation" novalidate action="javascript:void(0);">
    <div class="form-row">
        <div class="col-md-4 mb-4">
            <label for="validationCustom01">نام کوچک</label>
            <input type="text" class="form-control" id="validationCustom01" placeholder="نام کوچک" value="ستون" required>
            <div class="valid-feedback">
                به نظر خوب میاد!
            </div>
        </div>
        <div class="col-md-4 mb-4">
            <label for="validationCustom02">نام فامیلی</label>
            <input type="text" class="form-control" id="validationCustom02" placeholder="نام فامیلی" value="شاپ" required>
            <div class="valid-feedback">
                به نظر خوب میاد!
            </div>
        </div>
        <div class="col-md-4 mb-4">
            <label for="validationCustomUsername">Username</label>
            <div class="input-group">
                <div class="input-group-prepend">
                    <span class="input-group-text" id="inputGroupPrepend">@</span>
                </div>
                <input type="text" class="form-control" id="validationCustomUsername" placeholder="نام کاربری" aria-describedby="inputGroupPrepend" required>
                <div class="invalid-feedback">
                    لطفاً یک نام کاربری انتخاب کنید
                </div>
            </div>
        </div>
    </div>
    <div class="form-row">
        <div class="col-md-6 mb-4">
            <label for="validationCustom03">City</label>
            <input type="text" class="form-control" id="validationCustom03" placeholder="شهر" required>
            <div class="invalid-feedback">
                لطفاً یک شهر معتبر تهیه کنید.
            </div>
        </div>
        <div class="col-md-3 mb-4">
            <label for="validationCustom04">State</label>
            <input type="text" class="form-control" id="validationCustom04" placeholder="دولت" required>
            <div class="invalid-feedback">
                لطفاً یک کشور معتبر ارائه دهید.
            </div>
        </div>
        <div class="col-md-3 mb-4">
            <label for="validationCustom05">Zip</label>
            <input type="text" class="form-control" id="validationCustom05" placeholder="کد پستی" required>
            <div class="invalid-feedback">
                لطفاً یک کدپستی معتبر وارد کنید.
            </div>
        </div>
    </div>
    <div class="form-group mb-4">
        <div class="form-check pl-0">
            <div class="custom-control custom-checkbox checkbox-success">
                <input type="checkbox" class="custom-control-input" id="invalidCheck" required>
                <label class="custom-control-label" for="invalidCheck">با شرایط و قوانین موافق باشید</label>
                <div class="invalid-feedback">
                    قبل از ارسال باید موافقت کنید
                </div>
            </div>
        </div>
    </div>
    <button class="btn btn-primary mt-3" type="submit">ارسال فرم</button>
</form>
===============
   Javascript
===============

window.addEventListener('load', function() {
    // Fetch all the forms we want to apply custom Bootstrap validation styles to
    var forms = document.getElementsByClassName('needs-validation');
    // Loop over them and prevent submission
    var validation = Array.prototype.filter.call(forms, function(form) {
      form.addEventListener('submit', function(event) {
        if (form.checkValidity() === false) {
          event.preventDefault();
          event.stopPropagation();
        }
        form.classList.add('was-validated');
      }, false);
    });
}, false);

پیش فرض مرورگر

@
با شرایط و قوانین موافق باشید
===============
     HTML
===============

<form>
    <div class="form-row">
        <div class="col-md-4 mb-4">
            <label for="validationDefault01">نام کوچک</label>
            <input type="text" class="form-control" id="validationDefault01" placeholder="نام کوچک" value="ستون" required>
        </div>
        <div class="col-md-4 mb-4">
            <label for="validationDefault02">نام فامیلی</label>
            <input type="text" class="form-control" id="validationDefault02" placeholder="نام فامیلی" value="شاپ" required>
        </div>
        <div class="col-md-4 mb-4">
            <label for="validationDefaultUsername">Username</label>
            <div class="input-group">
                <div class="input-group-prepend">
                    <span class="input-group-text" id="inputGroupPrepend2">@</span>
                </div>
                <input type="text" class="form-control" id="validationDefaultUsername" placeholder="نام کاربری" aria-describedby="inputGroupPrepend2" required>
            </div>
        </div>
    </div>
    <div class="form-row">
        <div class="col-md-6 mb-4">
            <label for="validationDefault03">City</label>
            <input type="text" class="form-control" id="validationDefault03" placeholder="شهر" required>
        </div>
        <div class="col-md-3 mb-4">
            <label for="validationDefault04">State</label>
            <input type="text" class="form-control" id="validationDefault04" placeholder="دولت" required>
        </div>
        <div class="col-md-3 mb-4">
            <label for="validationDefault05">Zip</label>
            <input type="text" class="form-control" id="validationDefault05" placeholder="کد پستی" required>
        </div>
    </div>
    <div class="form-group mb-4">
        <div class="custom-control custom-checkbox checkbox-info">
            <input type="checkbox" class="custom-control-input" id="invalidCheck2" required>
            <label class="custom-control-label" for="invalidCheck2">با شرایط و قوانین موافق باشید</label>
            <div class="invalid-feedback">
                با شرایط و قوانین موافق باشید
            </div>
        </div>
    </div>
  <button class="btn btn-primary mt-3" type="submit">ارسال فرم</button>
</form>

نکات راهنمایی

به نظر خوب میاد!
به نظر خوب میاد!
@
لطفاً یک نام کاربری منحصر به فرد و معتبر انتخاب کنید.
لطفاً یک شهر معتبر تهیه کنید.
لطفاً یک کشور معتبر ارائه دهید.
لطفاً یک کدپستی معتبر وارد کنید.
===============
     HTML
===============

<form class="needs-validation" novalidate action="javascript:void(0);">
    <div class="form-row">
        <div class="col-md-4 mb-5">
            <label for="validationTooltip01">نام کوچک</label>
            <input type="text" class="form-control" id="validationTooltip01" placeholder="نام کوچک" value="ستون" required>
            <div class="valid-tooltip">
                به نظر خوب میاد!
            </div>
        </div>
        <div class="col-md-4 mb-5">
            <label for="validationTooltip02">نام فامیلی</label>
            <input type="text" class="form-control" id="validationTooltip02" placeholder="نام فامیلی" value="شاپ" required>
            <div class="valid-tooltip">
                به نظر خوب میاد!
            </div>
        </div>
        <div class="col-md-4 mb-5">
            <label for="validationTooltipUsername">Username</label>
            <div class="input-group">
                <div class="input-group-prepend">
                    <span class="input-group-text" id="validationTooltipUsernamePrepend">@</span>
                </div>
                <input type="text" class="form-control" id="validationTooltipUsername" placeholder="نام کاربری" aria-describedby="validationTooltipUsernamePrepend" required>
                <div class="invalid-tooltip">
                    لطفاً یک نام کاربری منحصر به فرد و معتبر انتخاب کنید.
                </div>
            </div>
        </div>
    </div>
    <div class="form-row">
        <div class="col-md-6 mb-5">
            <label for="validationTooltip03">City</label>
            <input type="text" class="form-control" id="validationTooltip03" placeholder="شهر" required>
            <div class="invalid-tooltip">
                لطفاً یک شهر معتبر تهیه کنید.
            </div>
        </div>
        <div class="col-md-3 mb-5">
            <label for="validationTooltip04">State</label>
            <input type="text" class="form-control" id="validationTooltip04" placeholder="دولت" required>
            <div class="invalid-tooltip">
                لطفاً یک کشور معتبر ارائه دهید.
            </div>
        </div>
        <div class="col-md-3 mb-5">
            <label for="validationTooltip05">Zip</label>
            <input type="text" class="form-control" id="validationTooltip05" placeholder="کد پستی" required>
            <div class="invalid-tooltip">
                لطفاً یک کدپستی معتبر وارد کنید.
            </div>
        </div>
    </div>
  <button class="btn btn-primary mt-2" type="submit">ارسال فرم</button>
</form>
===============
   Javascript
===============

window.addEventListener('load', function() {
    // Fetch all the forms we want to apply custom Bootstrap validation styles to
    var forms = document.getElementsByClassName('needs-validation');
    // Loop over them and prevent submission
    var validation = Array.prototype.filter.call(forms, function(form) {
      form.addEventListener('submit', function(event) {
        if (form.checkValidity() === false) {
          event.preventDefault();
          event.stopPropagation();
        }
        form.classList.add('was-validated');
      }, false);
    });
}, false);