TIL.Validation


Validation
ログインの実装時に検証を理解しました.
開発児童である私はまだ検証を知らないので、この機会に検証を学びました!
今日は勉強で知り合ったことを書きたいです.
まず、検証とは何ですか.
  • とは、ユーザがフォームページに入力したデータ値がサーバに送信される前に特定のルールに合致しているかどうかを検証することである.
  • ユーザーが誤って無効なデータ値を入力した場合、無効と判断し、フォームページに戻り、ユーザーにエラーを促す.
  • なぜ検証が必要ですか?
  • 安全攻撃!エラーデータや人為的なエラーによる予期せぬエラーなどを防止できます.
  • 複数のユーザがフォームデータを入力しても、フォームページの同じ入力フォーマットと形式を維持することができる.
  • では、有効性検査は楽屋にありますか.フロントで?
    Q.楽屋でDeviを入れる前にして、フロントでしなければならないのですか?
    Q.フロントでやっていたら、バックグラウンドでやらなくてもいいんですか?
    𕼧結論はフロントとバックグラウンドでやる
    フロントでJSで有効性チェックをする理由は、UX側が強いことをユーザーに伝えるためです.
    もちろん、不要なリクエストをサーバに送信する必要はありません.
    ただし、フロントのみで有効性検査を行う安全性は危険なので、バックグラウンドで検査しなければなりません!
    検証の処理方法
  • ユーザーがフォームページに入力したデータ値をサーバに送信する前に、Webブラウザで検証する方法には、基本検証とデータ型検証があります.
  • 基本検証:フォーム・ページに入力されたデータ値が存在するかどうかを確認します.
  • データ型検証:フォームページに入力されたデータ値が特定のモードに適しているかどうかを確認し、正規表現を使用します.
  • デフォルトの検証
  • 基本検証ユーザーがフォームページの入力項目にデータ値を入力したかどうかを確認し、データ長、数値などの基本項目が正しいかどうかを確認します.
  • フォームページの入力データの長さを確認して、基本的な検証に相当するデータが有効かどうかを確認します.
  • データ型の検証
  • ユーザーがフォームページの入力項目に入力したデータ値が何らかの形式に適しているかどうかは、基本的な検証よりも正規表現を使用する方法が複雑です.
  • フォームページが存在するかどうかを確認
    <script>
    funtion checklogin(){
    	var form = document.loginForm;
        if(form.id.value == ""){   /* 아이디가 입력되었는지 검사한다. 아이디가 입력되지 않으면 오류 메시지를 출력하고 해당 입력 항목에 커서를 놓이게 됨 */
        alert("아이디를 입력해주세요")
        form.id.focus();
        return false;
        } else if (form.password.value == "") { /* 비밀번호가 입력되었는지 검사한다. 비밀번호가 입력되지 않으면 오류 메시지를 출력하고 해당 입력 항목에 커서가 놓이게 됨 */ 
        alert("비밀번호를 입력해주세요");
        form.password.focus();
        return false;
        }
        form.submit(); /* 폼 페이지에서 입력한 데이터 값을 서버로 전송함 */
    } /* 자바스크립트로 폼 페이지에 입력 항목의 데이터를 검사하는 핸들러 함수 checkLogin()을 작성함 */
    </script>