【发布时间】:2018-07-02 08:29:01
【问题描述】:
我使用 AJAX 将表单发送到 ASP.NET Core 中的控制器,但我在发送带有验证的表单时遇到问题
<form asp-action="Create" asp-controller="Departments"
data-ajax="true"
data-ajax-method="Post"
data-ajax-mode="replace"
data-ajax-update="#content"
data-ajax-success="Success"
data-ajax-failure="Failure">
<div class="box-body">
<div class="alert alert-success" id="divalert" ></div>
<div class="form-group">
<label asp-for="Title" class="control-label"></label>
<input asp-for="Title" class="form-control" />
<span asp-validation-for="Title" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="ثبت" class="btn btn-success" />
</div>
</div>
</form>
这是 Ajax 的 Jquery 代码
<script>
function Success() {
$("#divalert").text = "Yes";
}
function Failure() {
$("#divalert").text = "No";
}
</script>
但我想在发送带有空文本框的表单时显示验证消息,
这是我的控制器
public async Task<IActionResult> Create([Bind("Department_Id,Title,Task,Description,Department_Status")] Department department)
{
if (ModelState.IsValid)
{
_genericRepository.Add(department);
await _genericRepository.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(department);
}
当表单为空时如何使用 Ajax 显示验证消息?
【问题讨论】:
-
@mplungjan,OP 正在使用
jquery.unobtrusive-ajax.js插件(它进行 ajax 调用) -
您显示的代码可以正常工作,并且不会提交假设您在
Title属性上具有[Required]属性。您是否正确加载了所有相关脚本? -
@StephenMuecke 我在哪里可以看到?
-
@mahdi:请不要将问题中的每个单词都大写。阅读真的很烦人
-
这与客户端验证无关!
标签: c# jquery asp.net-core asp.net-core-mvc