forked from midorikocak/turkish-cities-districts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathform-example.html
125 lines (105 loc) · 4.92 KB
/
form-example.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Form Örneği</title>
<script src="js/jquery-1.12.0.js"></script>
<!-- Google Fonts -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300italic,700,700italic">
<!-- CSS Reset -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.3/normalize.css">
<!-- Milligram CSS minified -->
<link rel="stylesheet" href="css/milligram.css">
<link rel="stylesheet" href="css/app.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="column">
<h5>Üyelik Formu</h5>
<form id="registration-form" novalidate>
<fieldset>
<label for="email">E-Posta</label>
<input type="email" class="required" placeholder="E-Posta Adresi" id="email" required>
<label for="username">Kullanıcı Adı</label>
<input type="text" placeholder="Kullanıcı Adı" id="username" required>
<label for="password-1">Parola</label>
<input type="password" placeholder="Parola" id="password-1" required>
<input type="password" placeholder="Parola Tekrar" id="password-2" required>
<label for="phone">Telefon Numarası</label>
<input type="number" placeholder="Telefon Numarası" id="phone">
<hr/>
<input class="button-primary float-right" type="submit" value="Gönder">
</fieldset>
</form>
</div>
</div>
</div>
<script type="text/javascript">
function addWarning(element, message, messageId) {
if (!element.hasClass('warning')) {
element.addClass('warning');
}
if ($('#' + messageId).length == 0) {
element.after('<div class="warning" id="' + messageId + '">' + message + '</div>');
}
}
function removeWarning(element, messageId) {
if (element.hasClass('warning')) {
element.removeClass('warning');
}
$('#' + messageId).remove();
}
// HTML sayfasının indirildiğinden emin olalım.
$(document).ready(function() {
// Veri girişi alanından çıkıldığını tespit edelim
$('input').focusout(function() {
// Eğer eleman required özelliğine sahip ise boş olmamalıdır.
var fieldNotEmptyMessage = " alanı boş olamaz";
// Alanın gereli olup olmadığını kontrol eden değişken
var inputRequired = $(this).prop('required');
// Placeholder değerine alanların Türkçe isimlerini yazdığımız için, bu değeri mesajlarda da kullanabiliriz.
var inputPlaceHolder = $(this).attr('placeholder');
// Eğer input gerekliyse ve boş ise uyarı ekleyelim
if (inputRequired && $(this).val() == "") {
// buraya dikkat, eklediğimiz uyarı etiketlerini messageId parametresine göre sileceğimiz için bu kısmı ekledik
addWarning($(this), inputPlaceHolder + fieldNotEmptyMessage, $(this).attr('id') + '-not-empty');
}
if (inputRequired && $(this).val() != "") {
removeWarning($(this), $(this).attr('id') + '-not-empty');
}
});
// Keyup metodu herhangi bir alanda klavyenin tuşuna basıldığını algılar.
// Burada biz her tuşa basıldığında veri girişinin uzunluğunu kontrol edeceğiz.
// Eğer yazarken doğrulama sağlanırsa uyarı kendiliğinden kaybolacak.
$('#username, #phone').keyup(function() {
// Telefon numarası en az 7 haneden, Kullanıcı adı en az 8 haneden oluşmalıdır.
var phoneNumberLessThankSevenCharsMessage = "Telefon Numarası en 7 haneden oluşmalıdır.";
var usernameLessThankEightCharsMessage = "Kullanıcı adı en 8 haneden oluşmalıdır.";
var inputLessThanSevenChars = $(this).val().length < 7;
var inputLessThanEightChars = $(this).val().length < 8;
if ($(this).attr('id') == 'username' && inputLessThanEightChars) {
addWarning($(this), usernameLessThankEightCharsMessage, $(this).attr('id') + '-less-than-eight');
} else {
removeWarning($(this), $(this).attr('id') + '-less-than-eight');
}
if ($(this).attr('id') == 'phone' && inputLessThanSevenChars) {
addWarning($(this), phoneNumberLessThankSevenCharsMessage, $(this).attr('id') + '-less-than-seven');
} else {
removeWarning($(this), $(this).attr('id') + '-less-than-seven');
}
});
// Yine aynı şekilde burada da her tuşa basıldığında iki parola alanının aynı olup olmadığını kontrol edeceğiz
$('#password-1, #password2').keyup(function() {
var passwordNotEqualMessage = "Parola alanları aynı olmalıdır";
// Eleman password1 id'sine sahipse password2 ile eşit olmalıdır. Ya da tam tersi.
if ($('#password-1').val() != $('#password-2').val()) {
addWarning($('#password-2'), passwordNotEqualMessage, 'password-2-not-equal');
} else {
removeWarning($('#password-2'), 'password-2-not-equal');
}
});
});
</script>
</body>
</html>