クライアント側の検証にjQuery Validate ( http://jqueryvalidation.org/ ) を使用しています
<script type="text/javascript">
$().ready(function() {
//validate the inquiry form on keyup and submit
$("#inquiryForm").validate({
onkeyup: true,
rules: {
fullName: {
required: true
},
email: {
required: true,
email: true
},
inquiry: {
required: true,
minlength: 5,
maxlength: 500
}
},
messages: {
fullName: $.growl({ title: "Growl", message: "Your name is required!" });
}
})
})
</script>
(サーバー側も使用していますが、質問の性質上、ここには含まれていません。)
デフォルトでは、入力フィールドの下にエラー メッセージが表示されます。エラー メッセージにjquery Growl ( http://ksylvest.github.io/jquery-growl/ )を使用したいと考えています。エラーメッセージごとに個別のうなり通知が必要です。
jquery Growl は次のようになります。
$.growl({ title: "Growl", message: "The kitten is awake!" });
コードの最初のブロックからわかるように、検証スクリプトのメッセージ領域の下に追加しようとしましたが、ページが読み込まれたときにうなりメッセージが表示され、検証のためにフォームを送信すると、以下のエラーメッセージが表示されますフィールドは通常通り。
また、送信時ではなくキーアップ時に検証スクリプトを実行するにはどうすればよいですか?
アップデート
リクエストに基づくフォームはこちら
<form class="form-horizontal" id="inquiryForm">
<div class="control-group">
<label class="control-label" for="inputname">Your Name:</label>
<div class="controls">
<input type="text" name="fullName" id="inputname" placeholder="First and Last">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputemail">Your Email:</label>
<div class="controls">
<input type="text" name="email" id="inputemail" placeholder="Email">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputinquiry">Your Inquiry:</label>
<div class="controls">
<textarea name="inquiry" id="inputquiry" placeholder="Your Inquiry"></textarea>
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" id="inquiryFormSubmit" class="btn btn-success pull-right">Send</button>
</div>
</div>
</form>