2009-07-22 8 views
0

좋아, 내가 사용하고있는 컨트롤에 중대한 문제가있다.동적 컨트롤에 대한 유효성 검사

내가하고있는 사이트는 계산대의 일부 필드에 사용자 정의 단위를 사용합니다 (말은 손으로에 대책을 마련해야한다고 결정했기 때문에!). 우리는이 단위를 기반으로 유효성을 검사 할 수 있어야합니다 즉, 그들은 200에서 900 cm 인 15에서 40 사이의 손 (또는 무언가)을 가질 수 있습니다 (이 숫자는 완전히 무작위로 나타납니다).

일반적으로 서버 측 유효성 검사를 사용하여 현재 단위를 처리하고 입력을 적절히 변환하고 동적 제한과 비교할 수 있도록 유효성을 검사합니다.

불행하게도 이러한 컨트롤은 페이지로드시 페이지에 동적으로 렌더링되므로 기술적으로 포스트 백에는 존재하지 않으므로 서버 측 유효성 검사가 실행되지 않습니다.

내가 이것을 피하기 위해 사용하려는 것은 표준 정규식 유효성 검사기와 유사하지만 코드 숨김을 허용하기 위해 해킹 된 이전에 사용한 다른 방법을 사용하는 것입니다. 쓰기는하지 않았지만 제대로 작동하는 것 같습니다.

이것은 페이지에 없기 때문에 관련 드롭 다운에서 올바른 단위를 얻기 위해 HttpContext 나 ​​다른 방법을 통해 페이지 개체에 액세스해야합니다. 아무도이 작업을 수행 할 수있는 방법을 제안 할 수 있습니까? 또는 컨트롤을 검증하는 더 좋은 방법?

아, 그리고 이것은 매우 복잡하고 무작위입니다.

건배, 에드

+0

여왕은 언젠가 말을 검사 할 때 그녀가 그녀에게 측정 테이프를 가지고 있지 않았기 때문에 손으로 결정했습니다. –

+0

당신은 페이지, onload에 대해 이야기합니다. ASP인가? 더 정확하게 말하십시오 =) –

+0

어쩌면 저의 마지막 코멘트는 민속적이었을 지 모르지만 클레멘트는 요점이 있습니다. 이 서버 측의 유효성을 검사하려는 경우 양식 또는 쿼리 문자열의 값을 읽고 유효한지 확인할 수 있습니다. 이 단위는 필드에 대한 유효성 확인 기준이 있거나 기준이 무엇인지 알려주는 몇 가지 방법이 있다면 실제로 중요하지 않습니다. –

답변

3

만들 수있는 몇 가지 포인트는 여기에 있습니다 : 첫째, 당신은 동적으로 생성 된 포스트 백 오프 제어를 얻을 수 있습니다, 그래서 당신이 일관된 ID로 다시 생성으로의 시작 각각의 다시 게시 이벤트는 ASP.NET을 다시 작성한 후에 ViewState와 그 외의 것을 다시 연결 한 다음 콜백 메서드를 트리거합니다.

다음 포인트는 ASP.NET ajax 프레임 워크를 사용하여 일부 자바 스크립트를 사용하여 페이지 클래스에서 정적 메서드를 호출 할 수 있습니다 (본질적으로 미니 웹 서비스가됩니다). Checkout this 링크 방법에 대한 링크. 이를 통해 서버 측에서 validate 메소드를 호출하는 자바 스크립트를 작성할 수 있습니다. 정적 인 경우에 한해서만 클라이언트 측 코드에서 필요한 모든 데이터를 전달해야합니다.

마지막으로 각 단위에 대해 하나씩 여러 개의 정규 표현식 검사기를 사용할 수 있습니다. 단위 필드에 onchanged 이벤트에서 javascript를 사용하여 올바른 값을 설정/해제합니다. 나는 직접 해본 적이 없지만 자바 스크립트를 통해 유효성 검사기를 쉽게 끌 수 있다고 생각합니다. (체크 아웃 this 링크)

+0

여러 유효성 검사기에 대해 잘 생각하고 있습니다. 그래서 그 버그가 멈추고 내가 틱 = D를 클릭하자 대답을 받아 들일 것이다. –

관련 문제