【发布时间】:2015-07-23 18:30:15
【问题描述】:
使用 ViewModel 进行验证:
public class CCvm
{
[Required(ErrorMessage = "Please enter your Name")]
public string cardHolderName { get; set; }
}
我的控制器在 post 上调用了一个任务:
public async Task<ActionResult> Pay(FormCollection form, CCvm model)
{
if (!ModelState.IsValid)
{
return View(model);
}
}
还有观点:
@model GCwholesale.Models.CCvm
@{
Layout = "~/Views/Shared/_HomeSubPageLayout.cshtml";
ViewBag.Title = "Secure Checkout";
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="Payment">
<label>Name on Card: </label>
@Html.EditorFor(model => model.cardHolderName, new { htmlAttributes = new { @placeholder = "Cardholder Name Please", @Value = ViewBag.Name } })<br />
@Html.ValidationMessageFor(model => model.cardHolderName)
<button class="submitCheckout">SUBMIT NOW</button>
</div>
}
但是当验证失败时,表单中的数据就会消失。
感谢观看。
【问题讨论】:
-
如果您可以将您的查看代码添加到问题中会有所帮助。
-
我添加了查看代码.....
-
在与 html 帮助程序绑定时,切勿尝试覆盖
value属性。
标签: asp.net-mvc validation viewmodel