C# 如何在MVC4中使正则表达式不在文本框中显示数字?
我需要创建一个文本框,用户在其中填写数据(孩子的数量)。孩子的数量必须介于0到5之间 我使用的是正则表达式,但问题是,当我在firefox、chrome或IE中运行它时,文本框中会显示默认值“0”,并且由于文本框中显示的默认数字,该字段没有设置为required 为什么会发生这种情况,我应该改变什么 我的代码C# 如何在MVC4中使正则表达式不在文本框中显示数字?,c#,regex,asp.net-mvc-4,razor,textbox,C#,Regex,Asp.net Mvc 4,Razor,Textbox,我需要创建一个文本框,用户在其中填写数据(孩子的数量)。孩子的数量必须介于0到5之间 我使用的是正则表达式,但问题是,当我在firefox、chrome或IE中运行它时,文本框中会显示默认值“0”,并且由于文本框中显示的默认数字,该字段没有设置为required 为什么会发生这种情况,我应该改变什么 我的代码 [Required(ErrorMessage = "Required entry!")] [RegularExpression("^[0-5]{1,1}$", ErrorMessa
[Required(ErrorMessage = "Required entry!")]
[RegularExpression("^[0-5]{1,1}$", ErrorMessage="Number of kids must be between 0 and 5!")]
public int Kids { get; set; }
@Html.LabelFor(model=>model.Kids,“孩子数量:”)
@EditorFor(model=>model.Kids)
@Html.ValidationMessageFor(model=>model.Kids)
您可以尝试改用可为空的int(public int?Kids)。这样,默认值将为空
Fernando.这是可行的,但现在当我输入实际的孩子人数时,数据不会保存,在单击“保存数据”后,它会给我一个空文本框。你的代码对我来说是有效的。文本框中不显示“0”。@Mikhailu,我的一个朋友给了我他的代码。他没有在文本框中显示“0”,但我有。当我给他我的密码时也发生了同样的事情。他没有显示“0”,但我有。我完全不知道这怎么可能
@Html.LabelFor(model => model.Kids, "Number of kids:")
<br />
@Html.EditorFor(model => model.Kids)
@Html.ValidationMessageFor(model => model.Kids)