2016-09-08 10 views
0

私はこのようなサービスなもので機能を持っている:新しいErrorオブジェクトJavascriptのメッセージに改行を入れる方法は?

Policiesポリシーがviolattedされている場合、エラーを投げる(例えば、パスワードが数字または大文字を持っていない)

function myFunction(policies, password){ 
    var policiesError = ''; 
    policies.forEach(function(policy) {  
    try { 
     policy(password, payload); 
    } catch (err) { 
     policiesError += err.message + '\n'; // Also tried `concat()` 
    } 
    }); 
    if (policiesError){ 
    throw new Error(policiesError); 
    } 
} 
ます関数のリストです

そして、私が持っている私のcontroller中:

try{ 
    myService.myFunction(myFunctions, 'password'); 
} catch (err){ 
    $scope.policiesError = err.message; // Which is used in as {{policiesError}} to display 
} 

コントローラ内のメッセージの結果が何かのようである:

"Password too shortPassword has no lettersInvalid characters in password" 

が、私は実際にそれをする必要があります

"Password too short 
Password has no letters 
Invalid characters in password" 

それは非常に簡単ですが、私はしばらくの間、テーブルに対して私の頭を打ちましたし、それは非常にイライラ。

new Errorを使用して適切なフォーマットのメッセージを取得し、それをキャッチする方法に関する提案はありますか?

+0

HTMLですか?それから '
'を使います。 –

+0

新しい行はすべて期間によって区切られますか? 'err.message.split( '。')'の後ろに 'err.message.join( '\ n')' – Mike

+0

と入力するだけで、私は特殊文字の妥当性を確認できなかったかもしれません。ピリオドで分割します。 (また、いくつかのエラーメッセージにピリオドが含まれています) – Eric

答えて

0

@Bergiは、問題がCSSプロパティであることを認識しましたwhite-space- 私はコードに新しい機能を書いていたので、CSSを移動しなかったし、考えなかったのです。 しかし、ええ、CSSは、\nがJavascriptで追加されなくなっていました。

最初から簡単なことを確認しないことにお詫び申し上げます。

関連する問題