문제

연주했는데 주위로 ASP.NET 어플리케이션 개발자와 중 하나는 것은 정말 혼란 나는 어떻게 나는 할 의미는 서버 측의 검증는 게시된 양식 데이터입니다.난 나는 게시하지 마세요 다시 동일한 URL 을 가지지 않는 경우,어떻게 다시 표시 형식으로 입력된 데이터 및 오류 메시지가 있습니까?또한,는 유효성 검사에는 논리로 가는가?모델 또는 컨트롤러?이 중 하나가 될 것으로 보인의 몇 가지 분야 웹 양식은 훨씬 더 강한(I miss 검증 컨트롤).

도움이 되었습니까?

해결책

할 수 있습을 살펴 ScottGu 의 최근 게시물 ASP.Net prev5.그것은 산책을 통해 검증하는 샘플은 매우 흥미 롭다:

http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx

다른 팁

여기서 중요한 흐름에서 MVC:

  1. /new-렌더링"새로운"보기를 포함하는 양식을 위해 사용자가 작성
    • 사용자가 양식에 게시을 만들/
    • 글로 라우팅을 만들기 작업에서 당신의 컨트롤러
    • 에서 당신의 작업 방법,모델을 업데이트된 데이터에 게시했습니다.
    • 모델 확인해야 합 자체입니다.
    • 컨트롤러의 읽어야 할 경우에는 모델은 유효합니다.
    • 모델효,저장의 db.Redirect/표시를 렌더링하여 위 개체입니다.
    • 모델가 잘못된 저장 형태로 값과 오류 메시지에서 TempData 및 리디렉션하는 새로운 행동을 다시.양식을 작성하여 필드에서 데이터 TempData 여 오류 메시지(s).

유효성 검사 프레임워크는 데 도움이 이 과정에서 당신을 따라.또한,제가 생각하 ASP.NET MVC 팀을 계획하고 유효성 검사 프레임워크에 대한 다음 미리보기입니다.

멀리로 말할 수 있는 모든 사람들이 여전히 파악하는"표준적인"방법 그것을 하고 있다.는 확실히 확인 필 Haack 및 스콧 오클라호마의 최근 게시물에 MVC 당신은 몇 가지 흥미로운 정보에서 그들은 어떻게 했습니다.었을 때 바로 그것으로 나 자신을 위해 만들었 ModelBinder 에 대한 LinqToSql 데이터 클래스는 생성됩니다.을 확인할 수 있습이 포스트를 찾을 수 있는 방법을 넣어 함께 기본적인 ModelBinder:

ASP.Net MVC 모델 Binder

에서 작업할 경우를 만들었다"제품"ModelBinder 당신이 선언하는 작업과 같이:

공공 ActionResult 새로운(제품 자극)

모델 바인더의 것을 관리 할당하는 게시 데이터를 객체 속성을 만큼 당신이 바로 그 어쨌든.

후에는 내 GetValue()메소드를 구현할 수 있습니다 무엇이든 유효성 검증을 원하는지 여부를 사용하여 예외의 정규식,또는 당신이 무엇을 호출할 수 있는 다음과 같:

(ModelStateDictionary_name).AddModelError("form_element_id","entered_value","error_message");

다음할 수 있습니다 그냥을 던져 <%=Html.ValidationSummary()%>에서 뷰를 표시하는 귀하의 모든 오류가 있습니다.

클라이언트 측면 유효성 검사에 이용 jQuery.후에 당신은 기본적인 샘플을 설정할 수는 있지만 시작을 하는 몇 가지 흥미로운 것들을 모두 결합되는 부분 전망과 Ajax 를 호출합니다.

당신이?http://www.codeplex.com/MvcValidatorToolkit

서 인용하는 페이지

검사 툴킷을 제공하는 설정 의 유효성 검사에 대한 새로운 ASP.NET MVC 프레임 워크 검사 HTML 양식 클라이언트와 서버 사이드 검증합니다.

나는 두려워하는 사람이 더 MVC-잘 아는 나보다는 것을 말하는 곳에서 아키텍처를 넣어야 합니다 일이다.

나는 그냥 배우 어플리케이션 개발자도 그래서 나는 확실하지 않는 방법이지만,무엇에서 내가 이해 당신에 양식을기와 같은 편집합니다.aspx.이 양식은 다음 게시물이 컨트롤러는 다른 행동 방법 등으로 업데이트()에 전달하는 형태의 내용에서 설정하는 편집합니다.aspx 매개 변수로 사용합니다.

Update(int id, string name, string foo)

당신이 할 수 있는 유효성 검사에서는 방법입니다.모든 확인

return View("Item", yourObject)

성 등이 있습니다.구성 요소입니다.검증 모듈에서 성 프로젝트입니다.그것은 매우 민첩하고 강력한입니다.생성 규칙에 기반한 모델의 특성(또는 다른 소스)도를 생성할 수 있 JS 사용하는 유효성 검사 jQuery,유효성 검사 프로토타입,fValidate 및니다.물론 그것은 지혜를 추상적인 검사기 멀리 뒤에 IValidationEngine 인터페이스입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top