显示输入类型编号但模型属性字符串的 razor 视图的验证消息
Show validation message for razor view for input type number but model attribute string
我的模式 class 中有一个字符串字段,用户只需在其中输入 1-8 之间的数字。
模态 class 属性:
[MaxLength(1)]
[MinLength(1)]
[Required(ErrorMessage = "Please enter correct value")]
public string RoomNumber { get; set; }
此输入在视图页面中被要求为::
<div class="form-group">
@Html.LabelFor(model => model.RoomNumber, htmlAttributes: new { @class = "col-md-12" })
<div class="col-md-12">
@Html.EditorFor(model => model.RoomNumber, new { htmlAttributes = new { @class = "form-control input-digit", @type = "number", @min = "1", @max = "8" } })
@Html.ValidationMessageFor(model => model.RoomNumber, "", new { @class = "text-danger" })
</div>
</div>
如果用户输入的值不正确,我想为他们打印验证消息,我的意思是如果他们输入的值大于 8,则显示错误消息。
我还可以将用户输入限制在 1 - 8 位数字之间吗?可能吗?
由于项目限制,我无法更改 RoomNumber
属性的数据类型。
谢谢。
在下面的示例中,RegularExpression
属性用于验证 RoomNumber
属性:
public class RoomInfo
{
[RegularExpression(@"^[1-8]{1}$", ErrorMessage = "Enter valid number from 1 to 8"), Required]
public string RoomNumber { get; set; }
}
观点:
@model RoomInfo
@using (Html.BeginForm("Save", "Home"))
{
@Html.ValidationSummary();
<div class="form-group">
@Html.LabelFor(m => m.RoomNumber)
<p>@Html.TextBoxFor(m => m.RoomNumber, htmlAttributes: new { type="number", placeholder = "Room number" })</p>
@Html.ValidationMessageFor(m => m.RoomNumber)
</div>
<button type="submit" class="btn btn-primary">Save</button>
}
我的模式 class 中有一个字符串字段,用户只需在其中输入 1-8 之间的数字。 模态 class 属性:
[MaxLength(1)]
[MinLength(1)]
[Required(ErrorMessage = "Please enter correct value")]
public string RoomNumber { get; set; }
此输入在视图页面中被要求为::
<div class="form-group">
@Html.LabelFor(model => model.RoomNumber, htmlAttributes: new { @class = "col-md-12" })
<div class="col-md-12">
@Html.EditorFor(model => model.RoomNumber, new { htmlAttributes = new { @class = "form-control input-digit", @type = "number", @min = "1", @max = "8" } })
@Html.ValidationMessageFor(model => model.RoomNumber, "", new { @class = "text-danger" })
</div>
</div>
如果用户输入的值不正确,我想为他们打印验证消息,我的意思是如果他们输入的值大于 8,则显示错误消息。
我还可以将用户输入限制在 1 - 8 位数字之间吗?可能吗?
由于项目限制,我无法更改 RoomNumber
属性的数据类型。
谢谢。
在下面的示例中,RegularExpression
属性用于验证 RoomNumber
属性:
public class RoomInfo
{
[RegularExpression(@"^[1-8]{1}$", ErrorMessage = "Enter valid number from 1 to 8"), Required]
public string RoomNumber { get; set; }
}
观点:
@model RoomInfo
@using (Html.BeginForm("Save", "Home"))
{
@Html.ValidationSummary();
<div class="form-group">
@Html.LabelFor(m => m.RoomNumber)
<p>@Html.TextBoxFor(m => m.RoomNumber, htmlAttributes: new { type="number", placeholder = "Room number" })</p>
@Html.ValidationMessageFor(m => m.RoomNumber)
</div>
<button type="submit" class="btn btn-primary">Save</button>
}