Asp.net mvc 4 如果MVC弹出窗体中存在重复记录,则添加错误消息
我有一个名为AddNew的弹出窗口,当用户单击名为AddNew的按钮时,将显示该窗口。按钮本身具有名为TRN和DOB的字段编号。我现在遇到的问题是,当用户尝试添加重复的TRN时,我试图显示错误消息,但不幸的是,只有当必填字段为空时,才会显示错误消息 无论如何,我可以在验证摘要中显示重复的错误消息,如在必填字段中显示,并保留表单中以前输入的所有值。请告知。多谢各位 这是我目前掌握的代码。多谢各位 Index.cshtmlAsp.net mvc 4 如果MVC弹出窗体中存在重复记录,则添加错误消息,asp.net-mvc-4,Asp.net Mvc 4,我有一个名为AddNew的弹出窗口,当用户单击名为AddNew的按钮时,将显示该窗口。按钮本身具有名为TRN和DOB的字段编号。我现在遇到的问题是,当用户尝试添加重复的TRN时,我试图显示错误消息,但不幸的是,只有当必填字段为空时,才会显示错误消息 无论如何,我可以在验证摘要中显示重复的错误消息,如在必填字段中显示,并保留表单中以前输入的所有值。请告知。多谢各位 这是我目前掌握的代码。多谢各位 Index.cshtml <input type="button" id="btnAddNew"
<input type="button" id="btnAddNew" style="height:50px; font-size:14px; width:95px; background-color:#3399FF; white-space: normal;" class="k-button" title="AddNew" value="Add New" />
<script type="text/javascript">
$(document).ready(function () {
$('#btnAddNew').click(function () {
window.open('@Url.Action("AddNew", "Details")', 'AddProduct', 'height=' + (window.screen.height - 450) + ',width=950,left=' + (window.screen.width - 5) + ',top=10,status=no,toolbar=no,resizable=yes,scrollbars=yes');
});
});
</script>
[Required(ErrorMessage = "Please enter TRN")]
[DisplayName("TRN")]
[StringLength(20)]
public string TRN { get; set; }
[Required(ErrorMessage = "Please enter or select Date of Birth")]
[DisplayName("Date Of Birth")]
public DateTime? DOB { get; set; }
如果我没有弄错的话,ValidationSummary必须设置为true以显示自定义错误 编辑:待完成: 在AddNew.cshtml文件中,替换
@Html.ValidationSummary(false, "Please fix the following errors:", new Dictionary<string, object> { { "id", "valSumId" } });
@Html.ValidationSummary(false,“请修复以下错误:”,新字典{{“id”,“valSumId”});
与:
@Html.ValidationSummary(true,“请修复以下错误:”,新字典{{“id”,“valSumId”});
它仍然是一样的,它只显示所需的验证错误,但不显示重复记录HMMM,odd。在这种情况下,我自己的代码(有效)的唯一区别是ModelState.addmodeleror部分位于ActionResult创建函数中。我只使用@Html.ValidationSummary(true);没有第二个论点,这是真的。现在,我尝试在类似于必填字段的模型中创建验证。有什么想法吗?没有。我使用它捕获保存时抛出的任何异常(我已将业务逻辑放入了保存中)。除了上面提到的区别,我用完全相同的方法来做。@Supermode:在您的try-catch-DbUpdateConcurrencyException中:也许也值得在这里添加一个ModelState.AddModelError?
[Required(ErrorMessage = "Please enter TRN")]
[DisplayName("TRN")]
[StringLength(20)]
public string TRN { get; set; }
[Required(ErrorMessage = "Please enter or select Date of Birth")]
[DisplayName("Date Of Birth")]
public DateTime? DOB { get; set; }
@Html.ValidationSummary(false, "Please fix the following errors:", new Dictionary<string, object> { { "id", "valSumId" } });
@Html.ValidationSummary(true, "Please fix the following errors:", new Dictionary<string, object> { { "id", "valSumId" } });