![](/img/trans.png)
[英]ASP.Net Core 3.1 Razor Pages and CRUD operation with Dapper
[英]Why validation for Decimal not work for ASP.NET Core 3.1 Razor Pages?
为什么 Decimal 的验证不适用于 ASP.NET Core 3.1 Razor Pages?
客户端工作,但在发布数据后,我收到此服务器端验证消息(在我的情况下为 ModelState.IsValid = false)。 值“1.000000”不适用于...
模型属性:
[Column(TypeName = "decimal(16, 6)")]
public decimal ValueFactor { get; set; }
看法:
<input class="form-control" asp-for="@Model.ValueFactor" />
<span asp-validation-for="ValueFactor" class="text-danger"></span>
Column属性是Code First Data Annotation
为了验证十进制,您需要结合使用正则表达式和范围验证,如下所示:
[RegularExpression(@"^\d+\.\d{6}$")]
[Range(0, 9999999999.999999)]
上面的正则表达式属性将接受“任意数量的数字,后跟点(.)然后是 6 位数字”。 因此接受以下数字:1.000000、500000.000000 etx。
范围属性接受 0 到 9999999999.999999 之间的类型decimal(16,6) 的数字
在服务器端尝试这样的事情。
public class PersonModel
{
[Required(ErrorMessage = "Required Decimal Number")]
[RegularExpression(@"^[0-9]+(\.[0-9]{1,100})$", ErrorMessage = "Valid Decimal number with maximum decimal places.")]
public string Expenses { get; set; }
}
我的模型
[Column(TypeName = "decimal(18,2)")]
public Decimal Bonus { get; set; }
我创建了一个视图模型。
[Display(Name="Ek Ücret")]
[RegularExpression(@"^(\d+),(\d{2})$", ErrorMessage = "Tutar 0,00 - 9999999999,99 aralığında olmalıdır. ")]
public string Bonus { get; set; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.