我有一個viewmodel,這樣,在驗證時,我想比較多個字段。 我有一個自定義屬性,需要viewmodel並執行所需的驗證。 我裝飾與自定義的視圖模型類屬性[ValidateThisForm]MVC - 顯示多個類級驗證錯誤消息
[AttributeUsage(AttributeTargets.Class)]
public class ValidateThisForm : ValidationAttribute
{
public override bool IsValid(object value)
{
ViewModel _viewModel = value as ViewModel;
if (_viewModel.TestOne == false && _viewModel.TestTwo == false)
{
ErrorMessage = "Form Incomplete: Please correct";
return false;
}
else
{
return true;
}
}
}
的問題是,我想執行幾個「一流水平」的驗證。其結果是,在我看來,我只能在表單上顯示在一個地方這些錯誤:
<td class = "field-validation-error">@Html.ValidationMessageFor(viewmodel => viewmodel)</td>
有沒有辦法,我可以被顯示在表格上不同位置的多個「一流水平」的錯誤方式?
是否需要更改其他模型屬性的位置?如:** @ Html.ValidationMessageFor(x => viewmodel.PropertyName)** – Xordal
不,理想情況下,我想更新並顯示類級別驗證代碼中某些相同模型屬性的錯誤值。 – Dubh