Html.TextBoxFor 只接受大于零的数字

Html.TextBoxFor only accepting a number greater than zero

我制作了一个表格,我希望 @Html.TextBoxFor 接受等于或高于 1 的值。这意味着:该值不能为 0 或更低。

型号:

[Required(ErrorMessage = "//")]
[RegularExpression(@"^[0-9]{1,3}$", ErrorMessage = "//")]
public string Time { get; set; }

查看:

@Html.TextBoxFor(model => model.Time)

我可以使用 DataAnnotation 执行此操作,还是有其他方法?

当您将 [Range(beginnumber, endnumber)] 置于模型中的 属性 上方时,它会起作用。

[Range(1, 1000)]
public int Time { get; set; }

文本框必须是数字类型。这可以通过将 type = "number" 添加到 html 元素来实现。

@Html.TextBoxFor(model => model.Time, null, new { type = "number"})

通过来自Stephen Muecke

的命令回答

你可以使用

<input type="range" name="points" min="0" max="10">

在剃刀

@Html.TextBoxFor(model => model.TicketID, null, new { @min="0" , @max="10" , type = "range", @class = .....})