2012-11-07 3 views
1

이것은 내 최신 코드입니다. 최신 유창한 유효성 검사 라이브러리가 설치되어 있습니다.Fluentvalidation이 오류 또는 업데이트를 표시하지 않습니다. Modelstate

public class ReleaseViewModelValidator : AbstractValidator<ReleaseViewModel> 
{ 
    public ReleaseViewModelValidator() { 
    RuleFor(r => r.Name).NotEmpty().Length(1, 30).WithMessage("Name must not be longer than 30 chars."); 
    } 
} 

[FluentValidation.Attributes.Validator(typeof(ReleaseViewModel))] 
public class ReleaseViewModel { public int ReleaseId { get; set; } 

[Remote("ReleaseExists", "Release", ErrorMessage = "This name already exists.")] 
public string Name { get; set; } 
public DateTime CreatedAt { get; set; } } 

Global.asax에 :

FluentValidationModelValidatorProvider.Configure(); 

VIEW 다음 ReleaseViewModelValidator 쇼 녹색 빛

model ILMD.Web.Models.ReleaseViewModel @* Remote Validation*@ <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 
@using (Html.BeginForm("Create", "Release")) 
{ 
<p class="editor-label">@Html.LabelFor(model => model.Name)</p> 
<p class="editor-field">@Html.EditorFor(model => model.Name)</p> 
<p class="editor-field">@Html.ValidationMessageFor(model => model.Name)</p> 
} 

내 모든 단위 테스트. 벌금.

덜 멋지다는 것은 31 문자와 같은 일부 실시간 데이터를 입력하거나 아무 것도 입력하지 않으면 클라이언트 측 오류 메시지가 표시되지 않는다는 것입니다.

부분 뷰에는 여전히 무언가를 포함해야합니까? ModelState도 항상 사실입니다.

+0

당신의 폼 요소 (HTML 소스) 렌더링되는 속성 눈에 거슬리지 검증을 표시됩니까하지를 지정할 수있는 검증 속성에 있기 때문에 즉 데이터 - 필수 -)? 양식 요소에 대해 렌더링 된 결과를 표시 할 수 있습니까? –

답변

1

보십시오이

[FluentValidation.Attributes.Validator(typeof(ReleaseViewModelValidator))] 

FluentValidation 당신이 (실제 검사기 (ReleaseViewModelValidator)을 ReleaseViewModel

관련 문제