在ASP.NET MVC中,可以通过以下步骤实现只在用户点击提交表单时触发数据验证,而不是在文本框值改变后触发数据验证:
data-val="true"
和data-val-change="true"
属性,例如:<input type="text" name="username" data-val="true" data-val-change="true" />
这样会使文本框的值改变时触发数据验证。
data-val-ignore="true"
属性,例如:<input type="submit" value="提交" data-val-ignore="true" />
这样会忽略提交按钮的点击事件,从而避免数据验证的触发。
ModelState.IsValid
属性来判断数据验证是否通过,例如:[HttpPost]
public ActionResult SubmitForm(MyModel model)
{
if (ModelState.IsValid)
{
// 数据验证通过,执行相应的操作
return RedirectToAction("Success");
}
else
{
// 数据验证失败,返回视图显示错误信息
return View(model);
}
}
在提交表单的动作方法中,通过判断ModelState.IsValid
属性来确定数据验证是否通过。
这样,当用户点击提交按钮时,才会触发数据验证,而不是在文本框值改变后触发数据验证。
前文索引: ASP.NET Core教程【一】关于Razor Page的知识 在layout.cshtml文件中,我们可以看到如下代码: RazorPagesMovie 这段代码中用到asp-page这样的一个特有属性,这是razor page特有的, 这是一个锚点属性,它的值将被编译到a标签的href属性上; 跟多的时候,我们会像下面这样使用锚点属性 <a asp-controller="Speaker" asp-
领取专属 10元无门槛券
手把手带您无忧上云