2016-12-03 9 views
0

これはより一般的な質問です。角度成分が入力の有効性を確認する必要がありますか?

私は次の操作を行う必要があるフィルタを作成しました:

は、1つのまたは2つの数字の上にある数を取り、2桁、私が確認するために、フォーム検証を使用

angular.module('myModule').filter('twoDigits', function() { 
    return function(input) { 
     return ('0' + input).slice(-2); 
    }; 
}); 

に数を返します何に行くと、私はなどでNULL値、または文字列

置けば私のフィルタは間抜けな行動になることを知っている。しかし0〜99

数であること私は角度成分を設計しています。 コンポーネントのロジック内から何が入ってくるのを制御する必要がありますか?

また、外部からの入力を制御するだけで済みます(フォームの検証など)。

+0

このフィルタはどこにありますか?また、なぜそれを使用していますか?それは純粋に視覚的な理由ですか、またはプログラムで動作するには2桁の形式で必要ですか? –

+0

それは視覚的な理由からです。 2桁のタイマーの場合。 – Lev

答えて

0

私の経験から、通常、ユーザーがフォームに記入している間に、サーバーがデータを処理するときにバックエンドでフォームの検証を行う際に、リアルタイムで検証することが最善の方法です。

フロントエンドでの検証は、ユーザーが必要なすべての情報を入力したと考えた後に戻ってくるエラーの量を減らし、何かが間違った形式であり、彼らがそれを正しく得るまで、もう一度やり直さなければならない。

バックエンドでの検証では、ユーザーが気付いていない(SQLインジェクションを形成する)脆弱性を軽減するだけでなく、ユーザーが電話番号にダッシュ( - )を入力しようとしたときなど、数字だけ(または特定の文字数など)を許可するエントリ。また、フロントエンドの検証を回避するために、ユーザーがフロントエンドの検証を通してフィルタリングせずにデータを入力することを技術的に許可するコンソールでjavascriptを調整することで、フロントエンド検証を回避する方法も常に存在します。

表と裏で検証することが常にベストプラクティスです。

関連する問題