2
我在我的jQuery Mobile項目中添加了對jQuery驗證的表單。它的工作原理是完美的,除了在文本輸入內顯示錯誤而不在其下面。我知道我可以使用errorPlacement在我的輸入下使用div來輸出我的錯誤消息,但這似乎不適用於選擇菜單。Jquery Mobile驗證錯誤位置和選擇
所以我有2個問題:
- 有什麼我可以做的不同,使錯誤信息顯示在下面的輸入不使用errorPlacement?
- 如果我必須使用errorPlacement,我如何獲得錯誤消息以顯示選擇菜單?
這裏是我的代碼:
<script>
$('#page').bind('pageinit', function(event) {
$('#registrationForm').validate({
rules: {
firstname: {
required: true
},
lastname: {
required: true
},
email: {
required: true,
email: true,
remote: "duplicateCheck.php"
},
password: {
required: true,
minlength: 5
},
verify_password: {
required: true,
minlength: 5,
equalTo: "#password"
},
handicap: {
required: true,
maxlength: 2,
digits: true
},
stopper: {
required: true
}
},
messages: {
firstname: {
required: "Please enter your first name."
},
lastname: {
required: "Please enter your last name."
},
email: {
required: "Please enter your email.",
email: "Please enter a valid email.",
},
password: {
required: "Please enter a password.",
minlength: "You password must be at least 5 characters long."
},
verify_password: {
required: "Please enter a password.",
minlength: "You password must be at least 5 characters long.",
equalTo: "You passwords did not match."
},
handicap: {
required: "Please enter your handicap.",
maxlength: "Your max handicap can't be higher than 99.",
digits: "Please only enter numbers."
},
stopper: {
required: "Please enter the word above."
}
},
errorPlacement: function(error, element) {
error.appendTo(element.parent().next());
}
});
});
</script>
這裏是我的錯誤的CSS:
label.error {
color: red;
font-size: 16px;
font-weight: normal;
line-height: 1.4;
margin-top: 0.5em;
width: 100%;
float: none;
}
@media screen and (orientation: portrait){
label.error {
margin-left: 0;
display: block;
}
}
@media screen and (orientation: landscape){
label.error {
display: inline-block;
margin-left: 22%;
}
}
標記您的問題時,請多加小心。 jQuery驗證和jQuery驗證引擎是兩個不同的東西。編輯。 – Sparky
對不起。感謝您修復它。 – tvirelli