2016-08-03 33 views
0

私が処理しようとしている角度のエラーメッセージに問題があります。私は確認メールの事例の無感応性が最初のメールアドレスに当てはまらないことを保証しようとしています。未定義のプロパティ 'toLowerCase'を読み取ることができません

私のコントローラでは、toLowerCase()フィルタを使用していました....コンソールがこれを認識せず、エラーメッセージを表示しているという事実を除いて。

私のフロントエンドコードが

input-md{ type: "email", "ng-model" => "vm.form.email_confirmation", required: true, 'must-match' => 'register_form["vm-form-email"]', 'match-case-insensitive' => true, 'ng-hide' => 'vm.form.validated_email', autocapitalize: 'off' } 

と私のコントローラであり、(そして最終的に問題がある場合)

getMatchValue = -> 
    match = matchGetter($scope) 
    if (angular.isObject(match) and match.hasOwnProperty('$viewValue')) 
    match = match.$viewValue 
    match 

$scope.$watch getMatchValue, -> 
    ctrl.$$parseAndValidate() 
    return 

ctrl.$validators.mustMatch = -> 
    match = getMatchValue() 

    if $attrs.matchCaseInsensitive 
    ctrl.$viewValue.toLowerCase() is match.toLowerCase() 
    else 
    ctrl.$viewValue is match 
return 

誰もがこれを見てみることができれば、私がいただければ幸いです!

答えて

1

あなたのオブジェクトがundefinedでないことを確認してください。angular.isDefinedを使用してください。

は私が彼らは私が同じ場合の値を持つ電子メールの提出を作成する場合、すべてが正常うまくいく作業を行うてきたように、オブジェクトが定義されていることを知っているあなたのオブジェクトがundefined

if (angular.isDefined(ctrl.$viewValue)){ 
    //Your Code 
} 
+0

ではありませんことを確認してください。しかし、それは問題を抱えているのはオブジェクト上のフィルタです。 – kdweber89

関連する問題