2014-04-25 2 views

답변

3

표준 unobtrusive/jQuery 유효성 검사를 사용 중이라고 가정합니다. 버튼을 "취소"의 클래스를 넣어 클라이언트 측 유효성 검사를 사용 안 함 :

<button type="submit" class="cancel">Delete</button> 

이 클릭되는 버튼의 경우에 모든 발사에서 클라이언트 측 유효성 검사를 방지 할 수 있습니다.

서버 측의 경우 모델의 유효 여부를 확인하지 마십시오.

+0

내가 클라이언트 측 유효성 검사에 관심이 있어요. 해결책을 좀 더 설명해주십시오. – POIR

+0

감사! 지금은 이해. 나는 그것이 그렇게 단순 할 것이라고 결코 생각하지 못했다. – POIR

+0

@Otix 예 - 이것은 jQuery Validate에서 사용되는 규칙입니다. :) –

0

예를 들어, 모델에 Name 속성이 있고 삭제시 유효성을 검사하지 않으려는 경우입니다. 먼저 httppost가 저장 또는 삭제 버튼에서 오는 것인지 구별해야합니다.

모델 필드에 추가하십시오. IsDelete.

@Html.HiddenFor(x => x.IsDelete) 

이 삭제 버튼의 onclick 이벤트 추가 :

난 당신처럼보기 뭔가 추가 제안

public ActionResult MyAction(MyModel model) 
{ 
    if(model.IsDelete) 
     ModelState.Remove("Name"); 

    var valid = ModelState.IsValid(); 
} 
-1

: 컨트롤러에서

<button type="submit" onclick="javacript: $('#IsDelete').val('true');"> Delete </button> 

것은 그런 짓을 편집 및 삭제를 위해보기에서 두 개의 개별 양식을 사용할 수 있습니다.

예 :

@using(Html.BeginForm("Edit", "Employee")) 
{ 
    //Edit inputs - ex textboxes for employee details such as name, age... 
    <input type="submit" value="Edit" /> 
} 

@using(Html.BeginForm("Delete", "Employee")) 
{ 
    //Delete inputs - ex: hidden input for employee id 
    <input type="submit" value="Delete" /> 
}