asp.net - 在页面模型中使用剃须刀页面注释
问题描述
我一直很好地使用数据注释,但是我现在试图直接在页面模型中指定一个。通常我创建一个对象模型并在那里指定验证要求,但是由于这只是一个字符串,我没有看到这一点。
在 card.cshtml.cs 中
public class CardModel : PageModel
{
[BindProperty, StringLength(200, MinimumLength=5, ErrorMessage = "Please enter a note")]
public String Note { get; set; }
public async Task<IActionResult> OnPostNoteAsync(int? id)
{
//Do stuff
return RedirectToPage(new { ID });
}
在 card.cshtml 中:
<div class="justify-content-center">
<form asp-page-handler="note" method="post">
<input type="hidden" name="id" value=@Model.Card.Id />
<div class="form-group">
<label asp-for="Note" class="control-label">
<i class="fas fa-1x fa-comment-dots pr-2"></i>
New Note
</label>
<textarea asp-for="Note" class="form-control" rows="3"></textarea>
<span asp-validation-for="Note" class="text-danger"></span>
</div>
<div class="form-group" id="card-form" style="text-align: right">
<button type="submit" class="btn btn-ver-blue">
<span class="text">Add Note</span>
</button>
</div>
</form>
</div>
不幸的是,表单在空时提交得很好,不会引发验证错误。
解决方案
忘了补充:
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
有时你只需要第二双眼睛:)
推荐阅读
- php - jQuery Datepicker 在每个月的前 10 天不显示事件
- hibernate - 在 Spring Boot 中通过 JPA/Hibernate 创建 DB 触发器
- javascript - 用于数组输入的jQuery自动完成器
- javascript - 一旦GIF到达屏幕中间而不是屏幕中的任何位置,如何使用Javascript播放GIF
- python - 从头开始设计一个 CNN
- android-manifest - 合并动态功能清单时出现Android错误
- python-3.x - 如何为 ECB 模式提供有意义的 IV(Python)
- java - java - 如何按空格获取和拆分多个字符串行输入,然后将它们添加到Java中的arrayList?
- apache-kafka - Kafka 生产者/消费者打开了太多的文件描述符
- reactjs - Material-UI 的 Select 组件在关闭时是否使用 setTimeout,如果是,为什么?