鉴于我有以下简单情况,当服务器上的表单发布验证失败时,如何保存显示数据,即InfoAboutInput?
如果模型验证失败,我是否必须依靠基于会话的缓存在服务器端重新填充我的模型?还是可以采用其他技巧?
简单的ViewModel:
public class FormViewModel : IValidatableObject
{
public string InfoAboutInput { get; set; } // customised display info per user
public string UserInput { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
// perform some specialised validation on UserInput
}
}
简单的消费视图:
@model FormViewModel
<div>
<form>
<h3>@Model.InfoAboutInput</h3>
<input asp-for="UserInput"/>
<button>Submit</button>
<form>
</div>
答案 0 :(得分:0)
捕获该帖子的控制器操作将有权访问任何表单字段及其值。在此操作中,只需创建一个新模型,从数据库或其他任何模型中填充它,然后使用表单值填充任何回发的值。然后返回该模型,作为控制器操作的结果。