如何使用 mvc4 中的 DataAnnotations 属性检查有效输入
How to use DataAnnotations attributes in mvc4 to check for a valid input
我有一个字段只需要数字。
我正在寻找验证此字段以接受大于 0 的值且不接受字符输入的方法
我在模型中有以下字段定义:
[Range(1,int.MaxValue, ErrorMessage="Value must be at least 1")]
[RegularExpression("([1-9][0-9]*)", ErrorMessage="Must be numeric")]
public int SortOrder { get; set; }
cshtml 文件中的以下内容:
@Html.LabelFor(model => model.SortOrder)
@Html.EditorFor(model => model.SortOrder)
@Html.ValidationMessageFor(model => model.SortOrder,"*")
一切似乎都是正确的,但是,当我尝试输入字符时,出现验证错误,提示 "The SortOrder field is required"
我需要这条消息说 "Must be numeric"
我在这里错过了什么?
谢谢
您可以将特定错误消息与 [Required]
属性相关联。请注意 [RegularExpression]
属性不是必需的(它实际上只是重复 [Range]
属性)
[Required(ErrorMessage = "Must be numeric")]
[Range(1,int.MaxValue, ErrorMessage="Value must be at least 1")]
public int SortOrder { get; set; }
您在输入非数字值时得到 "The SortOrder field is required" 的原因是它未通过 'required' 验证(必须是数字(int
)但它不是数字)并显示默认的 'required' 错误消息。
我有一个字段只需要数字。
我正在寻找验证此字段以接受大于 0 的值且不接受字符输入的方法
我在模型中有以下字段定义:
[Range(1,int.MaxValue, ErrorMessage="Value must be at least 1")]
[RegularExpression("([1-9][0-9]*)", ErrorMessage="Must be numeric")]
public int SortOrder { get; set; }
cshtml 文件中的以下内容:
@Html.LabelFor(model => model.SortOrder)
@Html.EditorFor(model => model.SortOrder)
@Html.ValidationMessageFor(model => model.SortOrder,"*")
一切似乎都是正确的,但是,当我尝试输入字符时,出现验证错误,提示 "The SortOrder field is required"
我需要这条消息说 "Must be numeric"
我在这里错过了什么?
谢谢
您可以将特定错误消息与 [Required]
属性相关联。请注意 [RegularExpression]
属性不是必需的(它实际上只是重复 [Range]
属性)
[Required(ErrorMessage = "Must be numeric")]
[Range(1,int.MaxValue, ErrorMessage="Value must be at least 1")]
public int SortOrder { get; set; }
您在输入非数字值时得到 "The SortOrder field is required" 的原因是它未通过 'required' 验证(必须是数字(int
)但它不是数字)并显示默认的 'required' 错误消息。