2010-06-10 4 views
1

매우 큰 폼이 있습니다. 사용자를 완료해야합니다. 그들은 그들의 진전 여부를 유효하게 유지할 수 있어야합니다. 그들이 나중에 돌아 오면 업데이트하고 유효하게 만들 수 있습니다. 그런 다음 데이터를 제출하십시오.MVC 응용 프로그램에서 데이터 유효성 검사를 무시하는 가장 좋은 방법은 무엇입니까

도메인 모델에서 클라이언트 측 스크립팅 (xval), 서버 측 속성을 사용하고 있습니다.

답변

0

하나의 옵션은 저장() 대신 다른 저장 SaveDraft()로 이동하는 [임시 저장] 버튼을 사용하는 것입니다. 별도의 방법을 사용하여 저장 작업에서 원하는 유효성 검사의 양을 결정할 수 있습니다. 내가 더 깨끗하다고 ​​생각한다.

동일한 저장 조치를 사용하여 유효성 검증 논리를 적용하여 읽기 및 유지 보수가 더 어려울 지 결정하십시오.

+0

내 주요 문제는 클라이언트 쪽 유효성 검사에 xval을 사용하고 있다는 것입니다. 어떻게 유효성 검사를 재정의 할 수 있는지 잘 모르겠습니다. 나는 이것이 저자의 질문이라고 생각한다. 또한 일부 입력의 유효성을 검사하지 않고 저장하지 않으려는 여러 필드가 있기 때문에 저장할 수 있는지 여부를 평가해야합니다. 우리는 여기서 몇 가지 결정을 내려야합니다 ... 감사합니다! – waynem

+0

@waynem xVal 유효성 검사를 무시하고 싶지 않은 것 같습니다. jQuery Ajax 포스트를 사용하여 데이터를 게시하거나 우회 할 수 있도록 해당 페이지에 대해 해제해야한다. –

0

나는 경우 xval에 대해 잘 모르겠지만, 아마도 당신이 경우 xval 속성에서 상속 거기에 체크를하고로 볼 수 ...

예를 들어, ConditionalRequiredAttribute : RequiredAttribute - 유효성 검사를 위해 적절한 상태를 취할 수 있습니다. 검증 조건 (상태! = "초안)이 충족되는 경우

검증 ConditionalRequiredAttribute의 validate 메소드에 base.Validate() (또는이 호출 무엇이든)처럼 간단 할 것입니다.

나는 경우 xval를 알 ​​수 없기 때문에 , 어떻게 클라이언트 쪽 유효성 검사 작동하는지 잘 모르겠어요 ... 클라이언트 쪽 유효성 검사 코드를 만들 수 있습니까?이 경우 자바 스크립트에서 비슷한 래퍼를 만드는 코드를 작성해야 할 (예 : if (status! = "Draft ") ... 유효성 검사가 오류 목록을 반환하는 서버에 Ajax 호출을 단순히 보내면 다른 것을 할 필요가 없다고 상상해보십시오.

죄송합니다. 하지만 아마도 이것은 당신을 도울 수 있습니다. 몇 가지 아이디어가 떠오른다 ...