【发布时间】:2021-11-29 03:35:37
【问题描述】:
在下面我的OnPost 方法中,我检查字段CoursePrice 是否为数字:
public IActionResult OnPost(IFormFile imgCourseUp, IFormFile demoFileName) {
float num;
if (!float.TryParse(Course.CoursePrice.ToString(), out num))
{
ModelState.AddModelError("", "Put a Valid Number..");
return Page();
}
}
当我输入无效数字时,例如:“123kk”,一切都出错了。我的意思是 float.TryParse(Course.CoursePrice.ToString(), out num) 方法可以正常工作,我的代码没有任何问题。但是当我运行项目并输入无效号码时,错误消息会是别的东西!例如在这部分ModelState.AddModelError("", "Put a Valid Number.."),我说错误消息必须是Put a Valid Number..,但它向我显示了这个错误:值'123l'对于قیمت无效??
那么有人有什么想法吗?
这是我的 View Razore:
<div class="form-group">
<label>قیمت دوره </label>
<input class="form-control" type="text" asp-for="@Model.Course.CoursePrice" value="0" />
<p class="help-block">لطفا فقط عدد وارد کنید</p>
</div>
<div class="form-group">
<div asp-validation-summary="All"></div>
</div>
【问题讨论】:
-
您是否正在并行运行另一个验证框架?例如。是否为该属性设置了数据注释,或者您使用的是 fluentvalidation?
标签: c# asp.net-core razor-pages modelstate