asp.net mvc に検証を追加しようとしています。ページの読み込み時に、その検証が完全に機能するためのテキスト ボックスが 1 つしかありません。しかし、データベースの必須フィールドでもある別のテキストボックスを実行時に追加したいと考えています。
しかし、私はこれを達成することができません。テキスト ボックスの HTML は同じですが、実行時に生成されたテキスト ボックスに必要な検証が表示されません。
私はこのようなコードを使用しています
EmployeeVM としてモデルを作成しました
public class EmployeeVM
{
[Required]
public string name { get; set; }
[Required]
public string age { get; set; }
}
私のビューコードは次のようなものです:
@using (Html.BeginForm("About", "Home", FormMethod.Post, new { id = "kk" }))
{
<table>
<tr>
<td>
name
</td>
<td>
@Html.TextBoxFor(p => p.name)
@Html.ValidationMessageFor(p => p.name)
</td>
</tr>
<tr id="dd"></tr>
<tr>
<td>
<input type="submit" value="Save" />
</td>
</tr>
</table>
}
<input type="button" onclick="app()" value="add" />
そして、私のJavaScriptコードは次のとおりです。
@section scripts{
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<script type="text/javascript">
function app() {
$.removeData($("#kk"), 'validator');
var tr = '<td>age:</td><td> @Html.TextBoxFor(p => p.age)@Html.ValidationMessageFor(p => p.age) </td>';
$("#dd").html(tr);
$.validator.unobtrusive.parse(document);
}
</script>
感謝と敬意
チョプラ王子