2014-07-16 4 views
2

문자열 속성과 동일한 작업을 수행 할 수 없습니다. 아래 코드에서 '성'의 유효성 검사를 제거하고 선택적으로 설정하려고합니다.MVC4에서 필수 속성을 제거하는 방법 (모델에 필요함)

[Required(ErrorMessage = "Required")]  
[Display(Name="Last Name")] 
public string LastName { get; set; } 
+0

와 콘트롤러 측에서 특정 필드에 대한 ModelState 오류를 생략 할 수 있습니다 -' [필수 (ErrorMessage = "필수")]'. 다시 컴파일하고 해당 속성을 더 이상 필요하지 않습니다. – Tommy

+0

내보기에서 유효성 검사를 제거하고 싶습니다. 이것이 가능한가? –

답변

6

당신이보기에 다음과 같은 자바 스크립트를 추가 할 수 있으며이 모델에서 요구 하였지만 LastNamerequired 규칙을 제거하는 것입니다.

$("#LastName").rules("remove", "required"); 

고마워요! 당신이 유효한 것으로 ModelState하려면

+0

당신은 오신 것을 환영합니다! – Saranga

+0

논리를 적용했지만 다른 문제가 있습니다. ModelState가 유효하지 않습니다. false를 반환하는 ModelState.IsValid입니다. –

+0

모델에서'LastName'을'Required'로 정의했기 때문입니다. 'ModelState.IsValid' 체크를 제거하고 필드에 대한 검증을 개별적으로 수행하거나 상태를 확인하기 전에'ModelState [ "LastName"]. Errors.Clear();'를 추가 할 수 있습니다. 그런 다음 'LastName'필드의 모델 오류를 항상 지 웁니다. – Saranga

1

다음이 시도 :

ModelState["LastName"].Errors.Clear(); 
if (ModelState.IsValid) 
{ 
    // your logic 
} 

그런 다음 클라이언트 측 유효성 검사를 사용하지 않으려면 :

@Html.EnableClientValidation(false); 

참고 :이 모든 클라이언트 측이 비활성화됩니다 유효성 검사.

+0

감사합니다. 그것은 이해된다. 내 질문 : 성 필드에 필수 속성을 부여했습니다. 이제 클라이언트 쪽에서 제거하고 싶습니다. 해당 필드에만 가능합니까? 도와주세요. –

+0

@SubrataChakraborty이 https://stackoverflow.com/a/44473250/3089009를 사용하면 특정 필드에 대한 클라이언트 측 유효성 검사를 사용하지 않도록 설정할 수 있습니다. – hasan

0

모델에서이 줄을 삭제이

<form method="post"> 
    // to disable client-side validaiton for model.SomeValue 
    @{ Html.EnableClientValidation(false); } 
    @Html.TextBoxFor(model => model.SomeValue)<br /> 
    @{ Html.EnableClientValidation(true); } 
    <input type="submit" /> 
</form> 

과 특정 분야에 대한 클라이언트 측 유효성 검사를 비활성화 할 수 있습니다 또는 당신이

ModelState.Remove("SomeValue"); // to omit SomeValue Validation Error 

if(ModelState.IsValid) 
{ 
    //Do some stuff, eventually redirect elsewhere 
} 
관련 문제