我对两种类型的字段使用正则表达式,只允许long和double值。
奇怪的是它在开始时起作用,现在它停止了工作。我的代码如下:
[Display(Name = "Număr elemente per unitate")]
[RegularExpression(@"^[0-9]*$", ErrorMessage = "The field only allows numbers!")]
public long NumarUnitatiBax
{
get;
set;
}
和
[Required(ErrorMessage = "The field can't be empty!")]
[Display(Name = "Cantitate ambalaj total")]
[RegularExpression(@"^[0-9]*([.,][0-9]{1,3})?$", ErrorMessage = "The field only allows numbers with 3 decimal numbers!")]
[VerificaAmbalajTotal]
public double CantitateAmbalajTotal
{
get;
set;
}
并在cshtml中:
<div class="form-group">
@Html.LabelFor(m => m.Produs.NumarUnitatiBax)
@Html.TextBoxFor(m => m.Produs.NumarUnitatiBax, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Produs.NumarUnitatiBax)
</div>
<div class="form-group">
@Html.LabelFor(m => m.Produs.CantitateAmbalajTotal)
@Html.TextBoxFor(m => m.Produs.CantitateAmbalajTotal, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Produs.CantitateAmbalajTotal)
</div>
和C#(即使我认为没关系):
var produsViewModel = new ProdusViewModel
{
Produs = produs,
DateFirma = baseViewModel.DateFirma,
Furnizor = _context.Furnizor.SingleOrDefault(c => c.Cod == produs.CodFurnizor),
TipUnitateAmbalare = _context.TipUnitateAmbalare.ToList()
};
if (!ModelState.IsValid)
return View("AdaugaProdus", produsViewModel);
但它没有检查它,或者我在“ErrorMessage”中覆盖的消息没有出现:
我可以制作自己的Annotation并且它有效,但我想知道我现在做错了什么。
正如我所说的那样,几天前就有效了。我试图找到我已经改变的东西,因为它不再工作了,但是我无法确定我为它停止工作所做的改变。
编辑:正如我在Ajit Kumar的回答中所说,我将浏览器更改为我没有用于此项目的浏览器,但它仍然无效。所以,这不是缓存问题。