1

나는 다음과 같은 문제가 있습니다 내가 유효성에 대한 필드를 원격 유효성 검사를 사용하고 지금은 예외에게MVC3 관리 원격 검증 예외

public class ValidationController : Controller 
{ 
    List<string> values = new List<string>() { "AAAA", "BBBB" }; //blacklist 

    public JsonResult NameAllowed(string ID) 
    { 
     throw new Exception(); 
     //return Json(!values.Contains(ID), JsonRequestBehavior.AllowGet); 
    } 

} 

을 관리하기 위해 노력하고 있지만,이 경우에는 형태가 아니었다를 제출 (네트워크 캡처, dev 도구 모음을 통해 오류 500) 오류가 나타나지 않습니다.

  1. 예외를 관리하는 가장 좋은 방법은 무엇입니까 (예 : 제한 시간 및 예측할 수없는 예외)?
  2. 양식을 제출할 때이 오류를 건너 뛰는 솔루션 (모든 서버 측 매개 변수)이 있습니까?

덕분에 사전에

답변

1

원격 검증은 서버에 쓸모없는 데이터를 전송에서 사용자를 방지 클라이언트에 그래픽 피드백으로 사용되어야한다. 항상에 유효성을 검사해야하는 모든 항목에 대한 서버 측 유효성 검사가 있어야하며, 유효하다면 양식이 보내지지만 승인되지 않으므로 유효성 검사 오류가 유효하지 않은 유효성 검사 결과와 함께 다시 렌더링 된 양식과 함께 표시됩니다. 입력. 이 목적

  1. 방지 쓸모 서버 측 처리
  2. 데이터의 응답 성 검증을 부여하는 대신 양식을 기다리고있는 "사전 검증"으로

    테이크 클라이언트 측/원격 검증 제출하십시오.

그러나 실제로 데이터의 유효성을 검사하는 데 사용해서는 안됩니다.

편집 말했다

, 어떻게 그냥 제대로 검증 코드를 작성하는 시도 어획량을 사용하고 unhandle 예외 슬립 축복하는을 두지 않을 어떻습니까?

+0

답변 해 주셔서 감사합니다. 나는 이미 당신이 언급 한 해결책을 보았습니다. 그러나 어쨌든 최선의 방법은 무엇입니까? 몇 가지 지침을 제공하는 기사가 있습니까? (msdn이 아니기 때문에 튜토리얼을 이미 따라 왔지만이 정보는 누락되었습니다.) – Frank

+0

예외를 throw하지 않도록 코드를 수정하는 것이 좋습니다. 때로는 캐치 시도가 필요합니다. 그러나 원격 유효성 검사기를 사용하면 잡을 필요가 없다고 생각합니다. 유효성 검사 작업에서 뭔가 더 좋은 방법으로 쓰여질 수 있습니다. 그러나 시도가 잘 수행되면 캐치는 항상 좋은 것입니다. – Pluc