Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在MVC4中使正则表达式不在文本框中显示数字?_C#_Regex_Asp.net Mvc 4_Razor_Textbox - Fatal编程技术网

C# 如何在MVC4中使正则表达式不在文本框中显示数字?

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

我需要创建一个文本框,用户在其中填写数据(孩子的数量)。孩子的数量必须介于0到5之间

我使用的是正则表达式,但问题是,当我在firefox、chrome或IE中运行它时,文本框中会显示默认值“0”,并且由于文本框中显示的默认数字,该字段没有设置为required

为什么会发生这种情况,我应该改变什么

我的代码

[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)