스크립트 없이 양식을 다시 채우고 오류를 표시하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1003132

  •  05-07-2019
  •  | 
  •  

문제

양식 유효성 검사 및 기타 일부 항목에 대해 Ajax 호출을 사용하는 응용 프로그램을 구축 중입니다. 문제는 해당 유효성 검사 오류가 CSS가 전혀 없는 새 페이지에 표시되고 양식이 자바스크립트 없이 완전히 재설정되는 경우가 마음에 들지 않는다는 것입니다.

나는 12가지 양식에 대해 이야기하고 있으므로 사용자가 양식을 계속해서 다시 살펴보는 것은 꽤 짜증나는 일이 될 것입니다.

이 주제에 대한 몇 가지 답변을 읽었지만 이와 같은 상황에 대한 모범 사례(양식 유효성 검사에 더 가깝습니다)가 있습니까?

이미 답변이 있다면 사과드립니다.

편집하다:

모든 유효성 검사는 서버 측에서 수행되며 현재 오류는 ajax의 도움으로 표시됩니다.내가 원하는 것은 양식을 처리하는 동안 오류가 발생하면 자바스크립트 없이 양식을 다시 채우고 오류를 표시하는 편리한 방법입니다.

도움이 되었습니까?

해결책

귀하가 서버에서 검증되지 않는다는 질문을 암시하는지 확실하지 않습니다. 이는 단순히 JavaScript를 비활성화하여 양식을 우회 할 수 있기 때문에 거대한 보안 구멍으로 간주됩니다. 클라이언트 측 유효성 검사는 단순히 좋은 방법으로 서버에서 매번 검증해야합니다.

또한, 페이지를 다시로드 할 때 양식이 재설정되는 "문제"는 적당한 프레임 워크를 사용할 때 마우스가됩니다. Python에서는 오류의 경우 Django 자동 반영 형태를 자동 반복합니다. PHP에서 CakePHP와 CodeIgniter도 그렇게하고 있으며, 프레임 워크가 추상화되어야하는 "일반적인 작업"의 범주에 속하기 때문에 대부분의 좋은 프레임 워크 가이 작업을 수행 할 것이라고 확신합니다.

프레임 워크를 사용할 때마다 필요를 채우는 내 자신의 작은 양식 수업을 작성합니다.

편집하다:

양식을 다시 채울 수 있어야 할 것에 플러그인 할 수있는 것은 알지 못합니다. 최선의 방법은 1 시간을 넘지 않아야하는 자신의 작은 수업을 작성하는 것입니다.

다른 팁

내가 일반적으로하는 것은 모든 오류 문자열을 세션 변수에 배열에 저장하는 것입니다 (PHP를 사용합니다). 서버 측에 오류가 있으면 사용자를 양식 페이지로 다시 리디렉션하고 세션 var를 확인하고 적절한 오류를 표시하십시오. 당신이 메모리를 표시 한 후에 메모리를 자유롭게하기 위해 세션 VAR을 설정하지 않도록하십시오. 세션 var.

양식 유효성 검사는 먼저 서버에 작성하고 나중에 클라이언트에 작성해야 합니다.어떤 경우에도 서버에서 유효성을 검사해야 합니다.양식 유효성 검사처럼 사이트 운영에 있어 간단하고 중요한 작업을 위해 Ajax에 의존하지 마십시오.눈에 띄지 않는 스크립팅을 사용하면 기본 양식 제출을 방지한 다음 Ajax를 사용하여 양식을 처리할 수 있습니다.그렇지 않으면 제출이 진행되고 서버에서 생성된 유효성 검사 페이지로 응답하도록 허용합니다.

서버 측에서 유효성 검사를 수행하고 양식을 다시 채 웁니다.

Ajax를 통한 유효성 검사입니다 멋진, 그러나 시행 할 수는 없습니다. 따라서 Ajax가 발생하는지 여부에 관계없이 검증을 수행하는 것이 더 효과적입니다. JavaScript를 가진 사람들을 위해 JSON에서 유효성 검사를 처리하고 JSON에서 다양한 오류를 전달할 수있는 두 번째 경로를 제안합니다. 그러나 JavaScript가없는 사람들에게는 검증이 작동하는 유일한 방법은 서버 측을 통한 것입니다.

불행히도 당신은 정말로 이것에 선택의 여지가 없습니다. Firebug가있는 중간 정도의 괜찮은 프로그래머 또는 해커는 JavaScript를 편집하고 고리를 분리하고 자신의 측면에서하려는 모든 것을 주변에 가져갈 수 있습니다. 편집증이되고 서버 측에서 검증을 시행합니다.

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