我正在尝试在 asp.net mvc 中添加验证。在页面加载时,我只有一个文本框可以完美地进行验证。但我想在运行时添加另一个文本框,这也是我数据库中的必填字段。
但我无法做到这一点。文本框的 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>
谢谢并恭祝安康
乔普拉王子