最善の方法は、javascript を使用してクライアントでこれを行うことです。次のことを行うjQuery関数を作成しました。
- パスワード テキスト ボックスでキーが押されるたびに実行されます
- テキストの長さを評価します
- パスワードの長さに基づいて div の背景色を変更します
注: jQuery をダウンロードして (まだ Scripts フォルダーにない場合)、ビューに参照を追加し、パスワード テキスト ボックスの ID が正しいことを確認します (私は "Password" と呼んでいます)。
<script src="../../Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
//"Password" is the id of the password textbox
//yours may be different so make sure to change this if necessary
$("#Password").keyup(function () {
var length = $("#Password").val().length;
var colour = "";
if (length <= 4)
colour = "red";
else if (length <= 7)
colour = "orange";
else
colour = "green";
$("#strength").css("background-color", colour);
});
});
</script>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<div class="editor-label">
@Html.LabelFor(model => model.UserName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.UserName)
@Html.ValidationMessageFor(model => model.UserName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Password)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Password)
@Html.ValidationMessageFor(model => model.Password)
<div id="strength" style="width:100px;height:20px;">
</div>
</div>
<p>
<input type="submit" value="Create" />
</p>
}
うまくいかない場合は、サンプル プロジェクトを作成してGoogle ドライブにアップロードしました。[ファイル] -> [ダウンロード] をクリックして、.zip ファイルを取得します。