この検証コードはまったく問題ないように見えますが、これはパズルの 1 ピースにすぎません。Backbone.Validation の例(およびその背後にあるコード) を参照することをお勧めします。この例では、同様の検証ルールを処理するための 2 つの異なるアプローチを提供します。
「基本」シナリオで電子メール検証を機能させる部分は次のとおりです。まず、テンプレートのスニペット:
<div class="control-group">
<label class="control-label" for="email">Email</label>
<div class="controls">
<input type="text" class="input-xlarge" id="email" name="email" data-error-style="inline">
</div>
</div>
電子メール入力では、data-error-style として「inline」が指定されていることに注意してください。これは、 backbone.validation.bootstrap.jsからのデフォルトのinvalid
コールバックに作用します:
else if (control.data("error-style") === "inline"){
if (group.find(".help-inline").length === 0){
group.find(".controls").append("<span class=\"help-inline error-message\"></span>");
}
var target = group.find(".help-inline");
target.text(error);
}
このコードは、電子メール要素にエラー メッセージを追加するか、インライン エラー メッセージが既に存在する場合はエラー テキストを置き換えます。
何が起こっているのかを把握するためにコードをさらに確認することもできますが、重要な点は、モデルの検証パラメーターはストーリーの一部に過ぎないということです。その他の部分は、テンプレートのセットアップとvalid
コールinvalid
バックです。