验证消息包含“{PropertyName}”而不是财产名称
我使用流畅的验证和客户端不引人注目的验证。
<fieldset class="edit-root-form">
<p>
@Html.LabelFor(model => model.Login, UserRes.Login)
@Html.TextBoxFor(model => model.Login)
@Html.ValidationMessageFor(model => model.Login)
</p>
</fieldset>
流畅的验证规则:
this.RuleFor(x => x.Login).NotNull().EmailAddress()
我收到这样的错误消息:'{PropertyName}'不能为空。
生成的 html:
<input data-val="true" data-val-regex="&#39;{PropertyName}&#39; is not a valid
email address." data-val-required="&#39;{PropertyName}&#39; must not be
empty." id="Login" name="Login" type="text" value="" class="input-validation-error">
为什么 MVC 不替换 PropertyName 真实字段名称?
I use fluent validation with client side unobtrusive validation.
<fieldset class="edit-root-form">
<p>
@Html.LabelFor(model => model.Login, UserRes.Login)
@Html.TextBoxFor(model => model.Login)
@Html.ValidationMessageFor(model => model.Login)
</p>
</fieldset>
Fluent validation rule:
this.RuleFor(x => x.Login).NotNull().EmailAddress()
And I got error message like this: '{PropertyName}' must not be empty.
Genered html:
<input data-val="true" data-val-regex="'{PropertyName}' is not a valid
email address." data-val-required="'{PropertyName}' must not be
empty." id="Login" name="Login" type="text" value="" class="input-validation-error">
Why MVC don`t replace PropertyName real field name?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对我来说效果很好。我正在使用最新的 FluentValidation 版本 (2.0.0.0) 和 ASP.NET MVC 3 RTM。
模型和验证器:
控制器:
视图:
Global.asax
中的Application_Start
:两种情况:
'Login'不能为空。
显示验证错误消息。“登录”不是有效的电子邮件地址。
将显示验证错误消息。最后,这是为文本框生成的 HTML:
Works fine for me. I am using the latest FluentValidation version (2.0.0.0) and ASP.NET MVC 3 RTM.
Model and validator:
Controller:
View:
Application_Start
inGlobal.asax
:Two cases:
'Login' must not be empty.
validation error message is shown.'Login' is not a valid email address.
validation error message is shown.And finally here's the generated HTML for the textbox: