Asp.net mvc 3 为非必需的情况显示StringLength消息
我有一个@Html.TextBoxFor控件和@Html.ValidationMessageFor,这不是必填字段,但最大长度有限制,而且只允许数字。我在ViewModel中给出了以下代码:Asp.net mvc 3 为非必需的情况显示StringLength消息,asp.net-mvc-3,Asp.net Mvc 3,我有一个@Html.TextBoxFor控件和@Html.ValidationMessageFor,这不是必填字段,但最大长度有限制,而且只允许数字。我在ViewModel中给出了以下代码: [StringLength(10, ErrorMessage = "The field Phone must have a maximum length of 10")] public string Phone { get; set; } 在单击按钮时,我无法检索上述验证消息,因为我输入了
[StringLength(10, ErrorMessage = "The field Phone must have a maximum length of 10")]
public string Phone { get; set; }
在单击按钮时,我无法检索上述验证消息,因为我输入了超过10个字符。
以及如何验证是否为数字?您要发布到的控制器操作必须将包含
Phone
属性的视图模型作为参数:
[HttpPost]
public ActionResult SomeAction(MyViewModel model)
{
...
}
或者,如果不是这种情况,您应该调用内部的UpdateModel
或TryUpdateModel
方法来调用默认模型绑定器,该绑定器负责调用验证逻辑并将任何潜在错误消息插入ModelState
以及如何验证是否为数字
您可以使用正则表达式:
[StringLength(10, ErrorMessage = "The field Phone must have a maximum length of 10")]
[RegularExpression(@"\d*", ErrorMessage = "The field Phone must contain only digits")]
public string Phone { get; set; }
但是你也可以用正则表达式来修复它,
只需谷歌“电话+正则表达式”。非常确定您可以使用regexAttr在maxlength上进行验证
[MaxLength(10, ErrorMessage = "yourmessage")]
public string Phone