0
我得到了繼承IValidatableObject
的類,我的驗證通過IEnumerable<ValidationResult>
函數進行驗證。在這個功能裏,我設法檢查所有的字段並返回一個ValidationResult
消息。如何在ValidationResult中傳遞memberNames IEnumerable?
但是,我的問題是membernames.ToArray()
只傳遞一個值。我在驗證視圖頁面時以及當它檢查字段是否有效時使用Html.ViewData.ModelState.IsValid("<fieldname>")
證明它是下面的代碼,當我返回帶有無效的所有字段的ValidationResult消息時。 string.Join(",", membernames.ToArray())
將返回字段的集合。 (即 「名字」, 「姓氏」)
List<string> membernames = new List<string>();
//Firstname
if (FirstName.Trim() == string.Empty)
{
isValid = false;
membernames.Add(@"""FirstName""");
}
//Lastname
if (LastName.Trim() == string.Empty)
{
membernames.Add(@"""LastName""");
isValid = false;
}
if (!isValid)
{
yield return new ValidationResult("Please complete all fields marked with *", new[] { string.Join(",", membernames.ToArray()) });
}
難道我通過在new[] { .. }
正確的類型?
請指教。提前致謝。
這一個將顯示每個錯誤消息。我使用1個驗證結果只返回1條消息。 – jeff
ModelState.AddModelError()幫助您將零或許多驗證錯誤添加到模型或整個模型的屬性。我認爲它可以解決你的問題 – Morteza