年齢のテキストボックスがあります。フォーム送信時にクライアント側でテキストボックスの値が18歳以上かどうかをチェックし、年齢が18歳以下であればメッセージを表示したいです。
私が今抱えている問題は、テキストを入力するとカスタムバリデーターにメッセージが表示され、18未満の数字を入力するとまったく表示されないことです。助けていただければ幸いです。ありがとうございました。
これが私のカスタムバリデータです:
<script>
$(document).ready(function(){
$.validator.addMethod('ageGreaterEighteen', function(value){
return parseFloat(value) > 0;
}, 'Age has to be greater than 18');
$.validator.addMethod("textOnly", function(value) {
return !/[0-9]+/.test(value);
}, "Alpha Characters Only.");
$("#TestForm").validate({
rules: {
txtName: {
required: true,
textOnly: true
},
txtAge: {
required: true,
ageGreaterEighteen: true
}
},
messages: {
txtName: {
required: "* Required",
textOnly: "Please enter text only"
},
txtAge: {
required: "* Required",
ageGreaterEighteen: "Age has to be greater than 18!"
}
}
});
})
</script>
ここに私のフォームがあります:
<form id="TestForm">
<label for="txtName">Name: </label><br />
<input name="txtName" type="text" id="txtFirstName" /><br />
<label for="txtAge">Age: </label><br />
<input name="txtAge" type="text" id="txtAge" /><br />
<input type="submit" value="Submit" id="btnSubmit" />
</form>