[英]How do I get a property at index using custom validation in ASP.NET Core?
我的 Razor 頁面中有輸入字段,這些字段是使用 foreach 循環加載的。 例如:
@foreach (var item in Model.DataList.Where(p => p.SubmittedBy == user.SubmittedBy))
{
<input asp-for="AllTable.RefNumber" name="@item.Id" class="form-control" placeholder="Comments (optional)">
}
AllTable 是模型,RefNumber 是屬性
我還有一個自定義驗證類,它使用以下方法驗證文本框的值:
var refNumber = (string)validationContext.ObjectType.GetProperty(validationContext.MemberName).GetValue(validationContext.ObjectInstance, null);
就目前而言, refNumber 為空。 如何在保留唯一名稱屬性的同時驗證字段? 如果我刪除唯一名稱,它可以正常工作,但是當發生驗證錯誤時,它會針對所有相同的字段顯示,因為名稱與 asp-for 相同。
謝謝,
因為它是一個剃刀頁面,您將無法從 ObjectInstance 訪問模型,因為我認為它目前不受支持,但傳入的值將是您的列表對象。
var myList = value as ApprovedList;
var refNames = myList.Select(s => s.RefName);
此外,您從列表中添加輸入的方式不允許它綁定到模型。 需要是這樣的。
<input asp-for="AllTable[i].RefNumber" class="form-control" placeholder="Comments (optional)">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.