Iva*_*tin 14 jquery fluentvalidation c#-4.0 asp.net-mvc-3
我得到了erorr:
不显眼的客户端验证规则中的验证类型名称必须是唯一的.以下验证类型不止一次出现:必需.以下验证类型不止一次出现:必需
我用过服务器验证.一切正常.但现在我说要使用客户端验证,我遇到了这个问题.
这是我的验证类代码:
public class TestViewDataValidation : BaseTestCreateViewDataValidation<BaseTestCreateViewData>
{
public TestViewDataValidation ()
{
this.RuleFor(x => x.Login).NotNull();
this.RuleFor(x => x.Login).NotEmpty();
this.RuleFor(x => x.Login).EmailAddress();
}
}
Run Code Online (Sandbox Code Playgroud)
但如果我留下一个验证器 - 一切正常.我该怎么做才能为字段提供更多的验证.
Per*_*eck 27
如果您对同一元素进行多次相同的验证,则会显示此错误.
未设置AddImplicitRequiredAttributeForValueTypes = false默认DataAnnontations 和 FluentValidation将在任何ValueTypes(如an int)上添加Required验证.如果您同时[Required]在任何ValueType上添加RuleFor(或属性),则该字段将具有额外的Required.
出于这个原因(我想明确地设置所有验证)我在我的内容中有以下内容Application_Start():
var fluentValidationModelValidatorProvider = new FluentValidationModelValidatorProvider(new AttributedValidatorFactory());
ModelValidatorProviders.Providers.Add(fluentValidationModelValidatorProvider);
DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
fluentValidationModelValidatorProvider.AddImplicitRequiredValidator = false;
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 16
FluentValidation.NET被称为Fluent,因为它为链接方法提供了一个流畅的界面:
public TestViewDataValidation()
{
RuleFor(x => x.Login)
.NotNull()
.NotEmpty()
.EmailAddress();
}
Run Code Online (Sandbox Code Playgroud)
备注:在这种情况下,对我的使用NotNull和NotEmpty规则似乎是疏忽的.NotEmpty应该够了.
| 归档时间: |
|
| 查看次数: |
9088 次 |
| 最近记录: |