2012-03-01 9 views
1

ウェブフォームの検証コードを書くとき、私は通常、フィールドの内容が有効であるとみなし、それが無効であることを証明しようとします。フィールドの内容が無効であると仮定して、それが有効であることを証明しようとするより良い方法でしょうか?フォームの検証時に、フィールドが有効であるか無効であると仮定する必要がありますか?

非常に簡単な例(擬似コード):

function isValid(formFieldValue, minLength, maxLength) { 
    valid = true; 

    fieldLength = length(formFieldValue); 

    if(fieldLength < minLength) { 
     valid = false; 
    } 

    if(fieldLength > maxLength) { 
     valid = false; 
    } 

    return valid; 
} 

、問題のフィールドが無効であることを前提とし、それに応じて私のチェックを変更する方が良いでしょうか?

注意 - 私はXSS保護または入力フィルタリングについては言及していません。ユーザーの入力が安全であるとは決して決してできません。私はフォームフィールドの最小/最大長や有効な電子メールアドレスなどの検証について話しています。

答えて

0

長さなどのことを話すと大きな違いはないと思います。しかし、私はおそらくXSS入力と同じことをしているので、入力が無効であり、そうでないことを証明すると思います。

0

あなたのすべての条件を実行しているか否かのポイントがあります。

ケース1:フォームが有効であると仮定し、次に例2の条件をチェックして無効をチェックします。 ケース2。無効なフォームを作成し、それが無効かどうかをチェックします。

いずれの場合も、すべてのフィールドを検証する必要があるため、すべての条件を満たしているかどうかを確認する必要があります。したがって、開始時に有効か無効かを問わず、私たちは主に無効をチェックしても問題ありません。

関連する問題