Last active
February 27, 2017 17:24
-
-
Save khripunovpp/5ea6103b0b1486304dde84ea330fb5ea to your computer and use it in GitHub Desktop.
jquery form validator for bootstrap 3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Document</title> | |
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> | |
<style> | |
.has-success + input { | |
border-color: green !important; /* Стили для input при успешной валидации*/ | |
} | |
.has-success::after { | |
font: normal normal normal 14px/1 FontAwesome; /* Использование вместе с FontAwesome */ | |
content:"\f00c"; | |
color: green; | |
} | |
input[type="checkbox"] + label { | |
font-weight: 300; | |
display: inline; | |
} | |
input[type="checkbox"] + .has-success::after { | |
content: ""; | |
} | |
</style> | |
<script src="https://use.fontawesome.com/e75c3e51ca.js"></script> | |
</head> | |
<body> | |
<div class="container"> | |
<div class="row"> | |
<div class="col-md-6"> | |
<h3>Адаптивная под Bootstrap 3 валидация формы jQuery Form-Validator</h1> | |
<form action="" id="form1"> | |
<div class="form-group"> | |
<label for="form1-email" class="control-label">E-mail</label> | |
<span id="form1-email-error-dialog"></span> | |
<input id="form1-email" type="email" name="email" class="form-control" | |
data-validation="email required" | |
data-validation-error-msg="Указан неверный E-mail" | |
data-validation-error-msg-container="#form1-email-error-dialog" | |
aria-describedby="form1-email-help"> | |
<span id="form1-email-help" class="help-block">Например, <i>[email protected]</i></span> | |
</div> | |
<div class="form-group"> | |
<label for="form1-username" class="control-label">Логин</label> | |
<span id="form1-username-error-dialog"></span> | |
<input id="form1-username" name="user" class="form-control" | |
data-validation="length alphanumeric required" | |
data-validation-length="3-12" | |
data-validation-error-msg="Имя должно содержать только буквы и длинной от 3 до 12 символов" | |
data-validation-error-msg-container="#form1-username-error-dialog" | |
aria-describedby="form1-username-help" > | |
<span id="form1-username-help" class="help-block">Только буквы и от 3 до 12 символов</span> | |
</div> | |
<div class="form-group"> | |
<label for="form1-pass" class="control-label">Пароль</label> | |
<span id="form1-pass-error-dialog"></span> | |
<!-- Первое поле для проверки должно иметь имя с суффиксом "_confirmation", а второе такое же имя только без суффикса--> | |
<input id="form1-pass" name="pass_confirmation" type="password" class="form-control" | |
data-validation="strength" | |
data-validation-strength="2" | |
data-validation-error-msg="Пароль должен содержать только буквы и длинной не менее 2 символов" | |
data-validation-error-msg-container="#form1-pass-error-dialog" | |
aria-describedby="form1-pass-help"> | |
<span id="form1-pass-help" class="help-block">Только буквы и длинной не менее 2 символов</span> | |
</div> | |
<div class="form-group"> | |
<label for="form1-passRep" class="control-label">Подтверждение пароля</label> | |
<span id="form1-passRep-error-dialog"></span> | |
<input id="form1-passRep" name="pass" type="password" class="form-control" | |
data-validation="confirmation" | |
data-validation-error-msg="Пароли не совпадают" | |
data-validation-error-msg-container="#form1-passRep-error-dialog" | |
aria-describedby="form1-passRep-help"> | |
</div> | |
<div class="form-group"> | |
<label for="form1-date" class="control-label">Birth date</label> | |
<span id="form1-date-error-dialog"></span> | |
<input id="form1-date" name="birth" type="date" class="form-control" | |
data-validation="birthdate required" | |
data-validation-error-msg="Дата введена некорректно" | |
data-validation-error-msg-container="#form1-date-error-dialog" | |
aria-describedby="form1-date-help"> | |
<span id="form1-date-help" class="help-block">В формате дд.мм.гггг</span> | |
</div> | |
<div class="form-group"> | |
<label for="form1-file" class="control-label">Выбор изображения</label> | |
<span id="form1-file-error-dialog"></span> | |
<input id="form1-file" name="image" type="file" class="form-control" | |
data-validation="mime size required" | |
data-validation-allowing="jpg, png" | |
data-validation-max-size="300kb" | |
data-validation-error-msg-required="Файл не выбран" | |
data-validation-error-msg-size="Размер файла привысил допустимые 300кб" | |
data-validation-error-msg-mime="Запрещеный тип файла" | |
data-validation-error-msg-container="#form1-file-error-dialog" | |
aria-describedby="form1-file-help"> | |
<span id="form1-file-help" class="help-block">Допускаются файлы JPG и PNG, размером не более 300кб</span> | |
</div> | |
<div class="form-group"> | |
<label for="form1-text" class="control-label">Текст сообщения (<span id="form1-text-max-length">100</span> символов осталось)</label> | |
<span id="form1-text-error-dialog"></span> | |
<textarea id="form1-text" name="presentation" class="form-control" | |
data-sanitize="escape" | |
aria-describedby="form1-text-help"></textarea> | |
<span id="form1-text-help" class="help-block">Символы: < > & ' " автоматичски кодируются</span> | |
</div> | |
<div class="form-group"> | |
<span id="form1-checkbox-error-dialog"></span> | |
<input id="form1-checkbox" type="checkbox" | |
data-validation="required" | |
data-validation-error-msg="Вы должны согласится с условиями"> | |
<label for="form1-checkbox">Я согласен с политикой конфиденциальности <a href="№" target="_blank">terms of service</a></label> | |
</div> | |
<div class="form-group"> | |
<input type="submit" class="btn btn-primary" value="Отправить"> | |
<input type="reset" class="btn" value="Сброс"> | |
</div> | |
</form> | |
</div> | |
</div> | |
</div> | |
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> | |
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script> | |
<script> | |
$.validate({ | |
modules : 'location, date, security, file, sanitize', | |
onModulesLoaded : function() { | |
$('#country').suggestCountry(); | |
var optionalConfig = { | |
fontSize: '14px', | |
padding: '0 4px', | |
bad : 'Очень ненадежный', | |
weak : 'Ненадежный', | |
good : 'Хороший', | |
strong : 'Очень надежный' | |
}; | |
$('input[name="pass"]').displayPasswordStrength(optionalConfig); | |
} | |
}); | |
// Restrict presentation length | |
$('#form1-text').restrictLength( $('#form1-text-max-length') ); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment