ASP.Net MVC 3 RC,Razor
当我尝试使用自定义消息并使用客户端验证时遇到一些意外行为.问题是,即使没有错误,它也始终显示自定义消息.
所以说我有一个客户端模型,其中FirstName被设置为必需.如果我有以下代码,则在我点击提交按预期工作之前,不会显示验证消息.
@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName)
Run Code Online (Sandbox Code Playgroud)
但现在说我想自定义验证消息以使用星号,如下所示:
@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName, "*")
Run Code Online (Sandbox Code Playgroud)
现在甚至在我点击提交按钮之前,字段旁边总是有一个星号.
预期的行为是,当出现验证错误时,它会显示星号.
谢谢你的帮助.
我正在尝试创建自定义验证属性。
public class PhoneValidator : ValidationAttribute
{
public override bool IsValid(object value)
{
return new RegularExpressionAttribute(@"^[+0]\d+").IsValid(Convert.ToString(value).Trim());
}
}
Run Code Online (Sandbox Code Playgroud)
我用这个来使用
[PhoneValidator]
public string PhoneNumber { get; private set; }
Run Code Online (Sandbox Code Playgroud)
我从网站上复制了它,理论上这应该可行。但我无法让它发挥作用。